Hack and / - Dr hjkl and Mr Hack
Here's yet another opportunity for me to add one more reason I love mutt as an e-mail program—it's practically vim's key-binding cousin. In fact, when you first start using mutt, you'll notice that when in doubt, you often can just press the same keys you'd use in vi to do something similar in mutt. The only place you might become confused initially is once you open an e-mail message and read it. By default, the j and k keys switch to the next and previous e-mail message in your folder, even when an e-mail is open, so you do have to teach yourself to use Enter and backspace to scroll through the body of an e-mail message.
Netris is a great command-line Tetris clone available on most major Linux distributions. One thing that always bugs me about Netris is that although it uses much of the home row to rotate and move shapes in the game, the keys are just slightly off from what you'd expect them to be in vi. Luckily, you can change the key bindings when you start Netris, so for true vi keys execute:
netris -k "hkl j"
Doing the above causes h to move pieces left, l to move them right, k to rotate them, j to make a piece drop faster and the spacebar to drop a piece to the bottom immediately. My Netris score was much improved once I could play it like vi.
Unfortunately, Firefox doesn't use vi key bindings by default (although Google Reader does), but it's not surprising that this can be fixed with a Firefox plugin. The Vimperator plugin (vimperator.org/trac/wiki/Vimperator) is extensive enough to deserve a column of its own (in fact, send me an e-mail at email@example.com, if you'd be interested in that). Essentially, once the plugin is installed, your entire Firefox session turns into a modal vi-style session. Not only can you use hjkl, g, G and so forth to navigate pages, but also when you are in a text field, Vimperator actually moves into insert mode! You even can record and play back macros just like in vim. Vimperator adds a bunch of other features to make keyboard-only Web browsing not only possible, but also preferable to the mouse. If you are a vim lover and haven't installed Vimperator yet, I highly recommend it.
As you dig around both command-line and GUI programs, you'll find that a surprising number of them at least support hjkl, if not more-extensive vi key bindings. I've listed only some of my favorites here, but the next time you open a program, press j a few times—you just might be surprised when the program scrolls down.
Kyle Rankin is a Senior Systems Administrator in the San Francisco Bay Area and the author of a number of books, including Knoppix Hacks and Ubuntu Hacks for O'Reilly Media. He is currently the president of the North Bay Linux Users' Group.
Kyle Rankin is a VP of engineering operations at Final, Inc., the author of a number of books including DevOps Troubleshooting and The Official Ubuntu Server Book, and is a columnist for Linux Journal. Follow him @kylerankin.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- diff -u: What's New in Kernel Development
- Server Hardening
- Giving Silos Their Due
- What's New in 3D Printing, Part III: the Software
- 22 Years of Linux Journal on One DVD - Now Available
- Controversy at the Linux Foundation
- Don't Burn Your Android Yet
- February 2016 Issue of Linux Journal
- Firefox OS