What's the first most important thing to learn about Vim?

Hey Guys, Regarding Vim, I’ve tried it so many times before, and each time I start using it I get to a point feeling frustrated, for so many reasons… My question to you is, what’s the first most important thing to learn about Vim? My impression is configuration because it’s personal, no?

Hi Alexander, I would actually say that configuration is not the most important thing. Instead, I would say that the “language” or structure of the key mappings and the “modal” nature of Vim’s interface is the most important thing. I have a number of colleagues here at thoughtbot who do very little configuration, but are none the less very much power users as they embrace the command language.

We have a whole video on this in our Vim course, video 3 - Command Language. I would recommend checking out the first two videos first since you’re new to Vim, but that 3rd video on the command language is really the secret sauce. Configuration and the rest are great as well, and we cover those topics in later videos, but we very purposefully put the command language content early in the course since we feel it is so important.

Hope that helps, but please let me know if you have any other questions.

I also agree that configuration is not the most important thing in Vim.

For me, configuration provides some niceties like syntax highlighting and error checking, but the vast majority of keystrokes I enter into Vim are using stock bindings. Mastery of the core language of vi keys is the key to becoming effective in Vim. Modal editing and powerful commands make experienced Vim users a force to be reckoned with.

Vim’s plugin ecosystem is large, but its plugins frequently lag behind corresponding behavior provided by Emacs and other ecosystems, because of the large amount of historical baggage involved. Plugins are also generally second class, and cannot influence the editor the same way that built-in behaviors can.

Thanks Chris. I get it. I’ll go over those videos shortly.

Perhaps the most frustrating aspect of Vim is moving around directories, creating subdirectories and getting to files at speed (perhaps because I am not used to thinking in Vim, I suppose. I’ve used Sublime a lot). And because of this and unfamiliarity with keystrokes, I get slow and frustrated, hence giving up on learning it and using it completely.

But, I shall go ahead and learn a few keystrokes per day and see how far it’ll get me ;).

Thanks Joe!

My impression is that I have to get away from the old way of thinking, which is the GUI aspect, and learn, or relearn the way things are done the Vim way.

Do designers at thoughtbot use Vim much?

I’m a designer at thoughtbot, and use Vim. I’d guess around 25% of us do. It used to be everyone, but that’s slowly changed as new designers came on in different offices.

Kyle and Reda talked about this at length on their Tentative podcast: Tentative: 3: A Fridge with Key Bindings

Thank you, Chris! I’ll head over to your podcast for more info…

Piggybacking on what @christoomey and @jferris said, I think you’re actually better off using as few plugins as you can to start so that you’re really learning stock Vim. Try Tim Pope’s vim-sensible or our o thoughtbot dotfiles to get your feet wet with sane, basic settings, then once you’re comfortable you can start layering more on top.

@geoffharcourt, thanks! Agreed. I am doing just that. Starting small and incrementally working towards something more personal.

1 Like