Learn Vim

Vim is a terminal based modal text editor. You can find more about it here. It comes preinstalled with most UNIX systems and with OS X (probably as vi, its predecessor).

Learning vim could be very helpful as you can edit code/text in almost all the systems even in remote servers without any hassle and extremely fast.

Vim does only one thing that is text editing, and it does extremely well. Show me something better, I bet you cannot bring something that is neither emacs nor similar to vim.

Most of the programmers use VSCode, IntelliJ or other IDEs. Take a look at the Stackoverflow Developers Survey 2022 on IDEs. Neovim is the most loved editor.

To be clear on my standpoint, I am not asking to ditch your favorite editor such as VSCode or sublime or other IDEs. They are good and provide a lot of features which vim does not (but you can get most useful features by configuring vim or neovim). You may not use vim as it does not provide any of these useful features. But at least learn vim-motions.

In a way a text-editor is an application which provides some useful features along with a text buffer in which you view the file. These text editors do not help you move fast and effectively in the text buffer. This is where vim fills the cup.

Vim motions are how we move in vim. You can move the cursor extremely fast and precisely using just few keystrokes, without using mouse at all. You can find extensions in other editors to use vi mode in them such as VSCode Neovim.

By doing so, in a way, you get the best of both worlds.

Take a look at this blog to get an overview of vim-motions. Look at the official documentation to learn mode.

Learn Vim For the Last Time: A Tutorial and Primer

Learning Vim by playing a game

Mastering Vim Quickly