How to learn (neo)/vim?

Posted by ChaosNyaruko on May 8, 2023

Prelude

  • This article is for those who decide to use vim/neovim or the key bindings.
  • If you want to figure out whether you should learn it, you can refer to my previous article.
  • The followin’ suggestions are given in my experience, may or may not fit you. Just take them as a reference. Hope it helps.

Learn Vim Step by Step

  1. Learning the key bindings first. You don’t have to know everything, just follow “vimtutor”, know the basic usage of vim’s “modal”/”operator”/”motion”/”text object”/”regex”/… stuff. You don’t have to remember all the details at once, everyone improves the retention by daily usage and training.
  2. Once you know the basic key bindings, you can use “vim” in most of your IDEs/editors/… . Download the vim plugin and you can get familiar with vim’s way to operate text. The only point is “sticking to it”, even it will slow you down at the beginning.
  3. Now it’s time to know vim’s wonderful features and plugins. There are indeed some “distributions”, such as LunarVim or SpaceVim. However I personally don’t recommend you to use it directly. Two reasons for this:
    • There are often other “layer”s in these distributions. You will have to learn the design as well, otherwise you will struggle to cope with problems.
    • You will lose the happiness about the process of assembling your own PDE, and nobody knows your habit more than yourself. But I strongly recommend you to take them as your references, such as some config snippets or awesome plugins. They are really good resources for you to build your own PDE from scratch.
  4. Write your own plugins, contribute it to the community!

Epilogue

Enjoy yourself in doing “useless” things!