Custom Keybindings
Your shortcuts, your rules. Remap anything, conflict-free.
Questions this answers
- How to remap terminal keyboard shortcuts macOS
- Vim keybindings in terminal emulator
- Terminal shortcut conflicts with tmux keybindings
- Custom key bindings terminal split pane navigation
How it works
Every keyboard shortcut in Chau7 is fully remappable through the keybindings preferences panel. This includes tab management, split pane navigation, font sizing, copy/paste, search, and all application-level actions. The editor shows the current binding for each action and lets you record a new key combination by pressing it directly.
Vim keybinding presets configure navigation-oriented shortcuts out of the box. Pressing Escape enters a navigation mode where hjkl moves between splits, and common Vim-style chords work for tab switching and window management. The preset is a starting point that you can further customize per action.
Conflict detection warns you immediately when a new binding overlaps with an existing one, showing which action currently holds that combination. You can resolve conflicts inline without hunting through a flat list. Keybindings export and import as JSON for sharing across machines or teams.
Why it matters
Developers build deep muscle memory around keyboard shortcuts, and switching terminals should not mean relearning every binding. Chau7 lets you remap any shortcut through a visual editor with conflict detection. Bring your muscle memory from your old terminal, your editor, or your own imagination.
Frequently asked questions
Can I use Vim-style navigation between panes?
Yes. Enable the Vim keybinding preset to navigate splits with hjkl and manage tabs with Vim-style chords. You can further customize individual bindings.
Will my keybindings sync across machines?
Keybindings export as JSON. You can store the file in your dotfiles repository and import it on any machine running Chau7.
Does Chau7 detect shortcut conflicts?
Yes. The keybinding editor warns you immediately when a new combination conflicts with an existing action and lets you resolve it inline.