Vim: Learnings so far
I’ve been using Vim instead of RubyMine for the last month or so and it’s been interesting observing the way that I browse code as I add plugins to make my life easier.
Between filesI generally don't know exactly where in the folder structure different files live since I'm used to being able to search by just the name i.e. RubyMine's Ctrl-N Yahuda Katz wrote a blog post earlier in the year where he listed some of the plugins he's been using - one of which is called Command-T and allows exactly this functionality. I also quite like the ability to quickly access files that I've recently opened i.e. files which are in the Vim buffer or RubyMine's Ctrl-E. The FuzzyFinder plugin provides that functionality. I've also tagged all my Ruby gems and the source code of the project using Exuberant CTags which then allows easy browsing to methods/classes.
I’ve noticed that the way I browse inside files has changed since I started using Vim.
I used to just scroll around files using the mouse but now I find myself moving around a file by line numbers instead.
A lot of the commands for file editing in Vim are based on moving/changing/deleting to a particular symbol so you become almost a human parser when reading a line of text.
I found/am finding the following quite useful for learning Vim shortcuts:
When coding in Java/C# I rely quite heavily on auto complete to tell me what methods I have available to me on a certain object.
Although I don’t use it that frequently the SuperTab plugin works reasonably well when you do need help.
Mike pointed out Vimlander-2-The-Quickening which has some of the plugins I mentioned and several others ready to use.