Hack and / - Dr hjkl and Mr Hack

Arrow keys, schmarrow keys—some of the best programs out there let you move around from the home row just like vim intended it.

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 lj@greenfly.net, 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 director of engineering operations in the San Francisco Bay Area, the author of a number of books including DevOps Troubleshooting and The Official Ubuntu Server Book, and is a columnist for Linux Journal.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState