Ever since my elective System and Network Administration class in college, I have been using Vim (though not right now, since I am writing this in WordPress online). My professor made the case that we needed to know Vi/Vim because it is the default editor that ships with every Linux distribution. When editing configuration files on a Linux machine and navigating the filesystem in a terminal, not using a UI and speed are very important to keeping sane and being efficient. So, with that I have since tried to stay on the keyboard as much as possible and use the mouse as little as possible (at least when developing) in not only Vim but in interacting with the OS and most other programs.
Here are some of my favorite features of Vim and things that I use most often:
- It runs in terminals.
- It keeps you on the keyboard and away from the mouse.
- Customization. This is the heart and soul of Vim – being able to make your editing experience exactly how you want it. And here is how I do it: https://github.com/ericelsken/.dotfiles
- ciw, ci(, diw
- Learning visual mode. This is something that I have learned is very powerful, yet I do not use it enough. It’s next on my list for Vim skills to master.
- Using kj to escape from insert mode.
- <Leader>x to close write all buffers and close Vim.
- Learning what a tab and a window are (and finally using windows). Having a split of a test file and the file you are testing is beyond useful.
And finally, I’ve listed some resources that have helped me along the way to learn and customize Vim:
- http://learnvimscriptthehardway.stevelosh.com/ – incredibly helpful for learning how Vim files are organized and how to customize behavior.
- https://vimium.github.io/ – a wonderful Chrome plugin that allows you to navigate using Vim commands.
I hope that if you read this, and like or dislike something, I will hear about it. I would love feedback on what I’ve done, how I config, and what you think may not be the best. And any feedback on how you streamline or automate typing, developing, and computer workflow are also welcome.