The age old and now mainstream (due to Silicon Valley) debate between vim and emacs was never enough for me to try either of these. To be honest, I haven’t even tried emacs because I tried vim and realised I don’t need anything else. Here are some of the reasons:
For a person who is generally more involved with machine learning, I am more into what makes my models better. When I scripted, I did not care for what I scripted on. Most of my needs are satisfied with Jupyter Notebook. Hence, I wanted whatever would help me get things up and running as quick as possible. Vi is simply convenient as it is available by default on every Linux terminal. This is a blessing for someone who is constantly using AWS instances.
This is probably the biggest sell of vim, and guess what, I bought it all up! Personally, I like working in different locations, using a trackpad is annoying and carrying a mouse is a nuisance. Not only does Vim support me in my decisions, it makes life much, much easier. There are no menus, no options, no clicking; It’s all on the keyboard. Vim goes as far as to provide it’s own programmed navigation where there is no need to lift your fingers. They stay grounded at the
asdf jkl; keys! The
h j k l keys are used for directional navigation.
If this wasn’t reason enough, Vim makes it much easier for developers to do everything and anything. The keyboard shortcuts become the radioactive spider that gives you superpowers. The very ones that make you more responsible and efficient. As I am typing and editing this very document,
Wskips the cursor to the next word,
Eskips to the end of the current word.
- When I add numbers to the same, for instance,
10 W,it skips to the tenth word from the cursor.
0will make the cursor jump to the start of the line. Pressing
$will make the cursor jump to the end of the line.
- To reach a particular word let’s say ‘cake’ in the entire doc(I am on a diet. Don’t judge me), enter
nfor the next occurance and
Nfor the previous occurance.
I have barely scratched the surface with these. My point here is that while you try to do whatever by taking your hand to the mouse, I’ve already done it using the keyboard.
Undeniable cool points
Let’s be honest, I want to let go of my vanity; but it’s going nowhere. I simply love the look of awe when people see me working on a terminal, without a mouse, cursor jumping everywhere. The validation is satisfying.
People generally struggle with Vim because they try to do things while being in the
insert mode. You should rarely be in there. You have to do everything in the
normal mode and use the other only to enter bursts of text.
It is true that it does take some time getting used to. But in the end, it is all worth it.
P.S: If you are looking to learn how to use Vim, get ‘vimtutor’ and look no further. You are welcome.