Recently, due to work, I’ve been frequently working directly on Linux servers. Running commands, opening files, editing configs — none of these are particularly complicated on their own, but when you do them often enough, it starts to wear you down. Especially editing files. A lot of the time, for convenience, I’d transfer files from the server to my local machine, edit them in a familiar editor, then transfer them back. But this workflow is long, and something always felt off — just changing a few lines, yet so much back and forth.
Eventually, I just started opening files directly on the server with vim. The problem was, my knowledge of vim barely went beyond “can open, can save, can quit.” Every time I needed to change something, I’d rely on the mouse, scroll around, slowly find the right spot — slow and mentally draining. At some point, I just didn’t want to keep going like that.
When I first started learning vim, I didn’t really have a clear goal. I wasn’t trying to become super efficient — I just wanted less hassle. I started memorizing the most basic commands: how to move, how to delete, how to copy, how to replace. Sometimes I’d remember something only to forget it moments later, having to look it up again and again. Later, I gradually started tinkering with configurations. From vanilla vim, to plugins, to Neovim. Hit quite a few bumps along the way and wasted a fair amount of time. A few times I even questioned: is all this really necessary just to edit files?
The changes actually came very slowly. At first, vim’s modal editing made me extremely uncomfortable. I just wanted to change a few characters, yet I had to switch between different modes — it felt totally “anti-human.” But after using it for a while, one day I noticed: I no longer needed to think about “what key should I press now.” My hands were moving, text was changing, and my attention had shifted to the content itself rather than the operations.
One day, while editing a fairly large config file, I had a somewhat strange feeling. I barely used the mouse. I wasn’t deliberately scrolling to find positions. I wasn’t staring at words to make sure I’d clicked the right spot. I was just naturally moving, editing, saving. At that point, it felt like editing text in vim is closer to “manipulating the text itself” rather than moving a cursor around on a screen.
What felt fairly worthwhile to me wasn’t how much more efficient I became — it was that my overall state changed a bit. When these repetitive text operations no longer consumed my attention, my mind became relatively quiet. Less prone to irritation, less likely to get distracted by small edits. Just getting things done rather calmly. That feeling doesn’t come up very often in everyday work.
Looking back, learning vim wasn’t something I had to do. Work could have been done just fine without it. But at least during this period, it gave me some new perspective on what “editing text” means. So I decided to write down this experience. Maybe someday when I look back, I’ll find that I’ve completely forgotten why I ever thought vim was hard to use.