The holidays have given me a (small) chance to catch up on some of my experimenting, and I’ve come across a combination that might be useful to other Scala-ites out there (and people who edit code in general).
Over time, I’ve found I tend to move away from “all-in-one” and “heavy” solutions (even though those solutions often bring a lot of benefit), and look more for lightweight approaches and tools. I’ll leave the reason why for another post, but if you keep going in the lightweight direction on editors and IDEs, you can’t get a whole lot lighter-weight than the venerable vi (or vim, as it’s modern counterpart is actually called).
Even though I am also an emacs aficionado (yes, I’m bi-editorial, if that’s a word), I can’t dispute the speed and convenience of vi. It fast – very fast, and available on just about every platform worth mentioning in one form or another, usually by default.
The things I find it’s lacking that I actually need in an editor are, it turns out, readily available, and the addition takes vi from the quick editor I grab to make a simple change into an editor I can use for serious hardcode development on major projects. In my case, my go-to language is Scala, so I’ve tuned it for that language, but as a general-purpose editor (one of the most general, in fact), vi is perfectly capable of editing just about anything you can put in a text file (including Unicode, as it turns out!)
Here are my key bindings, in case you need them.
If you’ve never seen it, do yourself a favour and go watch Derek Wyatt’s video introduction to Vim. The rest of his posts and videos are also excellent, and I’ve swiped much of my own setup from his