One day, I got fed up with constantly reaching for the arrow keys or the mouse while typing. So, I set up a few simple keybinds that let me jump the cursor around and select text without having to move my hands off the keyboard.
I don't think "life-changing" is an exaggeration; I use these keybinds constantly, in Discord, emails, Web forms, social media, etc. Whenever I'm at a computer without them, I feel much clumsier.
Plus, it only took me a couple days to get used to when I first set it up!
To start, I remap the Caps Lock key to use as a function key, which is fairly common practice for programmers.
Then, while holding Caps Lock:
- The I J K L keys work as arrow keys
- The H and ; keys jump forward and backward one word
- The U and O keys jump to the beginning and end of the line (like Home and End)
- Holding the F key is like holding Shift, which lets me select text
The above video is a quick demonstration of this functionality.
How to set it up yourself
On macOS, I use Karabiner Elements to
configure my keymaps. After installing, you can get my config file
here and
put it in $HOME/.config/karabiner/karabiner.json
.
(Note that my config maps Caps Lock to "Hyper", which is Cmd+Control+Option+Shift. Karabiner Elements is powerful and has ways of avoiding this, but it's what I got to work for me.)
Windows and Linux have other options for key remapping software, which I haven't explored much. A lot of gaming keyboards allow you to remap keys in their configuration software (usually Windows exclusive). For instance, I had a SteelSeries Apex Pro which let me map the Caps Lock key to the "meta" key, and then all the other keybinds on the keyboard's "meta layer".
I hope this offers some inspiration for you to look into it yourself!