OT: How did you become a Vi/Vim user?

I’d like to hear from those of you who use Vi/Vim and consider it indispensable. I’m curious. I think that those of us who never use Vim (like myself) could benefit from understanding why it works so well for some people.

All I know is “:q”. I’m not interested in learning Vim or switching to it. It never made sense to me. However, I know that many of you find it indispensable and would actually be less productive if you tried to use something else, including the tools I find indispensable.

I know that you weren’t a Vim user when you were born, even if you come across that way. It seems to me that Vim is one of those things that takes with people quickly or never takes at all. (Or am I wrong on this?)

My questions:

  1. Why does Vim make so much sense to you? What’s the order in the chaos? What do you see that’s invisible to the non-Vim users?
  2. What convinced you to try Vim?
  3. How did you learn Vim?
  4. How long did it take to master Vim?

I did once try out Visual Studio Code because it seemed that everyone was switching to it. While it looked nice, I recall having difficulty with tasks that I could easily do in my preferred editor. So I gave up on Visual Studio Code.

My preferred editors are Geany (when I have GUI access) and Nano (when I don’t have GUI access). Like Vim and VSC, Geany is free, open source, and available for Linux, MacOS, and Windows. Unlike Vim and VSC, Geany doesn’t have a learning curve. Unlike Sublime, Geany doesn’t pester me to pay for it. Geany is lighter, faster, and more stable for me than Atom.

Although you’ll have a difficult time prying me away from Geany and Nano, I cannot think of any good reason for people who are satisfied with other editors to switch to these.

Hi from a vim user :wave:

  1. Three things, really. It’s fast. On a slow computer, it starts instantly, even with plenty of plugins installed. I don’t work in an editor all day, so fast startup is important to me. There is no input lag either. Secondly, the keybindings/interface are really well suited to hands resting on a keyboard. (This is not really by design, it’s mostly a happy accident because Bill Joy happened to use a keyboard that had arrow keys on the HJKL keys when he made VI, but a lot of great things are accidents.) The relative lack of modifier keys for mundane functions is also important. Simply put, you’re less likely to get carpal tunnel syndrome than with any other editor. Thirdly, there’s a plugin for everything.
  2. I used vim to change config files on a server where I couldn’t install nano, so I had no choice. But I was intrigued enough by the weird keybindings to try it on my own computer as well. Also, the fact that you have to explicitly enter insert mode to write anything felt really weird at first, but what it does is free up all the keys to do editing work in normal mode, which is a really great idea.
  3. By trial and error, gradually. Start by using arrows and (gasp!) the mouse, then after a while you learn faster ways. I had a keybindings cheat sheet on a piece of paper in the beginning.
  4. No one, except possibly Tim Pope, has really mastered vim. There is really no limit to how far you can go when improving your workflows. I know approx. 10 percent of useful keybindings and I’m really inefficient on advanced text editing issues. A vim master would just write gc',blabla or whatever to properly format a whole novel, I just know what I need to know, and I learn new tricks slowly. But I have a semi-advanced config and some custom keybindings I like.

Coda: Some stuff that annoyed me about vim (bad plugin architecture, complex plugins used to be slow, etc.) have been solved by Neovim, which is what I use now. I’m using it with language servers and treesitter-based tag matching and syntax highlighting, which really makes it catch up to more modern editors like VS Code while still keeping the greatness of vim. Also, the Telescope plugin rules

:w :wink: