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 files
I 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.
Inside files
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.
About the author
I'm currently working on short form content at ClickHouse. I publish short 5 minute videos showing how to solve data problems on YouTube @LearnDataWithMark. I previously worked on graph analytics at Neo4j, where I also co-authored the O'Reilly Graph Algorithms Book with Amy Hodler.