Way back in the Komodo 3.5 days I was writing and editing almost everything I worked on in my favorite editor: Vim. It seemed a bit perverse to be writing Komodo documentation and not actually using Komodo, so I made the switch and reluctantly gave up finger-friendly modal editing.
Until July 11, 2006, the momentous day when Todd Whiteman’s Vi emulation “dark project” landed in an Alpha build of 4.0. I’d been begging for this feature for years and suddenly, there it was. Overnight I was transformed from a reluctant eater of dog food into a Komodo fanboy.
I won’t regurgitate the many merits of Vi and Vim, there are lots of excellent resources for that written by true Vim gurus. It’s worth talking about how this is emulated in Komodo though; it’s not just key bindings.
Key Bindings vs. Modal Editing
Komodo had always had completely customizable key bindings. Recognizing that everyone has very personal tastes in this department, we gave Komodo an interface for examining, modifying and saving key binding preferences. With this, we could offer an Emacs-like key binding scheme and a more “native” key binding scheme for each operating system Komodo runs on.
We needed more than that to give people the Vim experience though. Vi emulation added modes for navigation and editing, input, visual selection and a command line interface. As a bonus, key bindings in all modes (and for switching between them) were configurable and savable using the existing interface.
Something that isn’t covered in the screencast is the magic “Vi Commands” folder in the toolbox. If you add a folder to your toolbox (or the shared toolbox, or a project toolbox) with that name, you can run them by name from the Vi command line interface – the field at the bottom of the buffer that opens when you hit “:”.
Create a free account on the ActiveState Platform to check out all Komodo IDE’s features and to download a 21-day trial today.