Recently I thought about giving vim another shot as many colleagues of mine just flat out love it for its extensibility. Last time I gave it a try the learning curve was just too hard for me, I became frustrated and switched back to an (in my opinion) more convenient editor like Atom or VS Code. I thought there might be other people like me, so I collected some problems I had and how I overcame them (or not).

Working on your tooling is often worth the time. Image by royalty free

Configuration

Atom or VS Code ship with a ton of configuration and you can easily pick and choose which extensions you need through a nice UI and set the config through a nice interface.

Vim is famous for its plugins and configurability, but it was hard for me to get started with it, especially because there is just so much choice. It was nice for me to have a good default to start of with, so I began with a generated .vimrc file from Vim Bootstrap. You can type in your languages and if you are using vim or neovim and it generates you the config file. As plugin system vim-plug is used, which is easily installable by one curl command (see readme).

I mentioned the pro side of this approach, on the other side you end up with a lot of plugins you don’t know how to use, and that might be useless to you. For me, picking one plugin per day to learn and evaluate if it is useful for my use-cases was great. Using the plugin is often as you can on that day also hammers the commands in that you need.

Every Day Usage

The hardest part for me is to stick to it. To be honest, I often am impatient and I sometimes just quit vim and switch to Visual Studio Code to get something done quickly. It is important to recognize this and remind yourself that you have the goal of changing your editor.

The most frustrating parts were based around navigating, so I would like to share a small list of built-ins that might be useful to you:

cmd+d : Use * to get the same jump to point behavior. I haven’t figured out how to do multi-cursor

: Use to get the same jump to point behavior. I haven’t figured out how to do multi-cursor cmd+f : Use /searchTerm to search through the current file. I haven’t figured out how to search through multiple files

: Use to search through the current file. I haven’t figured out how to search through multiple files Quickly look through your file: Use ctrl+f to scroll a page down and ctrl+b to scroll up

to scroll a page down and to scroll up cmd+w : Use :bd to close the current file. If you are 🇩🇪 like me, I remember it by thinking “Bis dann”, meaning “See ya”

: Use to close the current file. If you are 🇩🇪 like me, I remember it by thinking “Bis dann”, meaning “See ya” cmd+q : Quitting is done by :q , with writing first by :wq

Improving your workflow

Finding new plugins can be frustrating, but vimawesome is here to rescue you. It helps you to quickly find the plugins you need:

I liked ctrlp the most, you can easily fuzzy search through your project and find the files you need.

More to come

I am just starting to learn vim, so these are just my “first few weeks” learnings. I will post more as I find out more. Do you have any learning that seems to be missing? Ping me, and I will add them. 😉

Want to hear more from me? Feel free to subscribe to my newsletter, I send out news roughly once a month.