Groundwork

Keyboard

Caps Lock, reborn: the remap that makes everything else reachable.

The most useful key on the keyboard was wasted on Caps Lock. This setup turns it into the two keys you press most in a terminal — Escape and Control — so the shortcuts on every other page are right under your left pinky.

When you'll want this Your hands are leaving the keyboard for repeated moves you want to make automatic.
Quick reference — the remapped Caps Lock
Caps tap Escape (leave Insert mode)
Caps hold Control (for any Ctrl-shortcut)

#One key, two jobs

Via Karabiner-Elements, Caps Lock becomes a dual-role key:

  • Tap itEsc. The single most-pressed key in Vim (it's how you leave Insert mode and get back to Normal) — now without reaching to the top-left corner.
  • Hold itControl. Press it together with another key for any Ctrl-shortcut, with your finger already on the home row.

You lose nothing: actual Caps Lock toggling is gone (almost no one misses it), and the key earns its prime spot many times a minute.

#Why this is the keystone

Look back at the other pages and notice how much lives on Esc, Ctrl, and Alt:

NeovimEsc returns to Normal mode — the move you make constantly
tmuxThe prefix is Ctrla; pane nav is Alth/j/k/l
ShellLine editing is all CtrlCtrlA/E/W/U/R

Put Esc and Ctrl under your strongest, nearest finger, and make sure Option sends real Alt. That whole vocabulary stops being a stretch.

It needs two permissions — once

Groundwork opens Karabiner after install/update if it is not running, but macOS won't let it watch the keyboard until you approve it. In System Settings → Privacy & Security, grant Input Monitoring and allow its driver / system extension (a separate prompt). A script can't click these for you — full steps are on the Troubleshooting page.

#The other keyboard tweaks

The setup also nudges a few macOS keyboard defaults so the terminal feels right:

Fast key repeatHold a key and it repeats quickly, with a short delay before it starts — so j/k scrolling and holding a motion in Vim are snappy
Press-and-hold offHolding a key repeats it instead of popping up the accent menu — essential for Vim, where you hold keys to move
Option as AltIn Ghostty, the key sends a real Alt, so shell shortcuts like AltF (forward a word), AltC (fzf folder jump), and Alth/j/k/l pane navigation work
These apply after a re-login

The key-repeat settings are read when an app launches, so they fully take hold after you log out and back in (or restart). If holding a key still shows the accent popup, that's the one to do.

#Put it to use

1

Tap for Escape

Open nvim, press i to type, then tap Caps Lock to pop back to Normal mode. Do it a few times — this replaces the corner Esc reach you'd otherwise make hundreds of times a day.

2

Hold for Control

At the shell, hold Caps Lock and press R — that's CtrlR, history search. Then hold Caps and tap A / E to jump to the start / end of the line. Same finger, no stretch.

#Going deeper