November 1, 2020 Author: Matthew Renze

Over the past few years, I’ve been using AutoHotkey with a custom key-binding script to enhance my keyboard productivity. These custom short-cut keys allow me to navigate, select, and delete text without my hands ever having to leave the home row of the keyboard. I call this set of custom key bindings “RenZkeys”.

RenZkeys works in virtually every developer IDE, plain text editor, and productivity tool like Word, Excel, etc. It takes a bit of time to learn, but once you’re proficient, it can significantly improve your keyboard productivity. In addition, it can dramatically reduce repetitive stress from unnecessary hand movement.

It’s surprising how often your hands move from your keyboard to your mouse (and back) while typing. Your hands are also constantly leaving the home row to use navigation keys. All of these little keyboard transitions have a small time-cost. However, that cost can add up significantly over many hours of typing.

The idea for this shortcut-key script came from my long-time friend and fellow software developer Jon von Gillern. He had been using a slightly different version that he called “Vonmacs”, which was a play on his last name and Emacs – the classic text editor known for its highly efficient use of keyboard shortcuts.

However, over the years, I’ve made some minor modifications that I believe have improved the efficiency and functionality of the key bindings. And now that I’ve been using this keyboard mapping successfully for more than half a decade, I think it’s time to open-source the script and share it with the world.

With RenZkeys, you can perform three common types of text-editor operations without your hands leaving the home row: text navigation, text selection, and text deletion. In addition, you can perform these operations at the character, block, page, and document level.

Here’s how it works:

 

Character Navigation

To move your cursor up, down, left, or right by a single character, you simply hold the ALT key with your left thumb and press “i”, “k”, “j”, or “l” respectively. This is equivalent to pressing the up, down, left, or right arrow key.

Character Navigation Keyboard Diagram

 

Block Navigation

To move your cursor up or down by a whole function, block, or paragraph you simply hold ALT+CTRL with your left thumb and pinky and press “i” or “k” respectively. To move your cursor left or right by a whole word, you hold ALT+CTRL and press “j” or “l” respectively. This is equivalent to holding CTRL while pressing the up, down, left, or right arrow key.

Block Navigation Keyboard Diagram

 

Page Navigation

To move your cursor to the top or bottom of the page, simply hold ALT and press “8” or “,”. To move your cursor to the beginning or end of a line of text, you hold ALT and press “h” or “;” respectively. This is equivalent to pressing Page Up, Page Down, Home, or End.

Page Navigation Keyboard Diagram

 

Document Navigation

To move your cursor to the beginning or end of a document, you hold ALT+CTRL and press “8” or “,” respectively. This is the equivalent of holding CTRL and pressing Page Up or Page Down. Using ALT+CTRL and pressing “h” or “;” simply moves your cursor to the beginning or end of the line as it did in page-level navigation.

Document Navigation Keyboard Diagram

 

Text Selection

Holding SHIFT while using any of the previous key combinations will perform text selection. Holding ALT+SHIFT allows you to select text at the character and page level.

Normal Selection Keyboard Diagram

In addition, holding ALT+CTRL+SHIFT allows you to select text at the block and document level.

Extended Selection Keyboard Diagram

 

Text Deletion

You can delete a single character by pressing ALT plus “m”.

Character Deletion Keyboard Diagram

Or you can delete an entire line (in applications like Visual Studio) by pressing ALT+CTRL+“m”. This is equivalent to pressing CTRL+DEL.

Line Deletion Keyboard Diagram

 

Getting Started

1. Download AutoHotkey from their website.

2. Download the custom RenZkeys.ahk script from my Github repository.

3. Double-click on the file and it will activate the keybindings.

4. If you want to automatically activate these keybindings every time you start your computer, then simply copy/paste the file (or a shortcut to the file) into your Windows startup folder.

 

Special Thanks

Thanks again to Jon von Gillern for this great idea that has helped me maximize my keyboard productivity and minimize the cost of years of unnecessary mouse and keyboard movements!

 

If you’d like to learn more about how to improve your software development skills, please check out my online courses on software development, data science, machine learning, and artificial intelligence.

Share this Article