Over the years I used Visual Studio, Eclipse, Netbeans, XCode and several simple text editors like Notepad++. Some keyboard shortcuts worked across all of them but mostly they were different.
I thought that since I’m typing a lot every day and will probably continue to do it for a while, it makes sense to make any improvements I can to this skill set. Also, the more I spend time with a single editor, the better I get at using it.
So few years ago, I decided to switch to vim.
The switch was painful and my productivity was much lower at first. Sometimes I went back to my IDE when I had an urgent task I had to accomplish quickly. I also had to spend a while on configuration and finding all the plugins that made vim more usable and more like the IDE I was using. I tried to make the move gradual. In the beginning I used the arrow keys and even the mouse for scrolling but tried to get used to avoid it. The shortcuts gradually became easier and easier to use until I stopped noticing the difference.
With vim I can do most of my work using only the keyword. Moving the hand to the mouse may not seem such a big deal but it does make a difference. Both because it makes the work faster but also because it’s less annoying and distracting.
I now do all my writing with vim. Emails, todo lists, blogging. If I try to type somewhere else I keep trying to use vim’s shortcuts. Macros are like a fun game. It turns manual changes of big files to a small fun task.
I used MacVim for a while but then decided to start using tmux as well and use vim in the terminal. With tmux I can open multiple sessions and have different sessions of vim opened for separate projects I’m working on. This was a big improvement to my workflow. I also do as much as I can in the terminal. Instead of switching to a GUI to see git diffs or commit, everything is right there, a keyboard shortcut away.
Overall I think it was a good decision to make the effort to get used to it.