The best text editing experience you will ever get. It is worth learning it as you will start thinking about text editing differently.

I use some kind of vim bindings in any app I use and if there is a vim plugin for the app, I often use it. I use vim editor often when connecting to remote sessions and when I need a console editor.

I use Neovim instead of vim and my vimrc can be found here. And here are all the plugins I use with it.

I switch between Ayu Light and Ayu Mirage themes as I change between macOS appearances.

Ayu Light

Ayu Mirage

I also use a little trick where I change the cursor from thin block in insert mode to underline when in normal mode. This lets me quickly know which mode I am in.


  • I can profile vim startup time with startuptime.

  • I can run :CheckHealth to see if there is anything wrong with my installation (only Neovim).

  • Get plugins that meet your needs.

  • You're more likely to find useful plugins if you approach it the other way around: I want to do X, vim can't do it nicely by itself, which plugin can help me do it.

  • If something doesn't work in vimrc, put the binding in the bottom of vimrc (perhaps something overrides it).