There was a pretty good discussion on Hacker News today. It is still rank #2 by the time I checked again in the afternoon.
I thought I would share some experience using Vim.
Vim is installed on most Linux machines. There is no need to install when you have SSH access to the Linux machines. At first, I use Vim mostly to quickly view the log file to diagnose problem or performance. I did not bother to do much with it. I would just do Samba and make my home directory read/write-able though my Windows machine and edit the files using various IDE. I was happy with my UltraEdit and Textpad.
Vim was still difficult to use to me at that time when I was still struggling writing good code.
Then one day when the commercial IDEs start asking me to upgrade their products and I thought why should I? I did not like it. This is when I start really forcing myself to learn Vim.
View mode and write mode was pretty hard on me at the beginning. I had to print out a cheat sheet for me to remember all those keys’ feature.
After a while I finally got used to Vim and it opens up another world to me.
At first, I would open-up multiple SSH tunnels to edit multiple files. I would open up 5 tunnels to edit 4 files plus another tunnels to run terminal programs.
Until… I found split view. but I would still open up 3 tunnels to edit 4 files. One screen, split into 2 files plus another tunnel to run terminal programs…
Until… I found tab, but I would still open 2 tunnels, One screen, multiple tabs with multiple split plus a screen to run terminal programs…
Until… I found Ctrl+z and fg. It becomes 1 tunnels run multiple tasks..
I worked on multiple Linux machines all the time and yes, storing the setting on Github was definitely a time saver. I used to copy the .vimrc, syntax, indent among machines. Since I Github my Vim setting, when I arrive at a new Linux machine, if allow, I simply do a git clone, then the strange new Linux machine become just a home.
Yes, learning Vim requires time and discipline. Once you pass that learning curve, you will definitely love it.