Mori Keymaps

April 2, 2026 · View on GitHub

Mori uses tmux as its session backend. Keyboard shortcuts manage tmux sessions, windows (tabs), and panes through a native macOS interface.

App

ShortcutAction
⌘⇧OOpen Project
⌘,Settings (opens ghostty config)
⌘⇧,Reload Settings
⌘HHide Mori
⌘⌥HHide Others
⌘QQuit Mori

Edit

ShortcutAction
⌘ZUndo
⌘⇧ZRedo
⌘XCut
⌘CCopy
⌘VPaste
⌘ASelect All

Tabs (tmux windows)

ShortcutAction
⌘TNew Tab
⌘WClose Pane (last pane closes the tab)
⌘⇧]Next Tab
⌘⇧[Previous Tab
⌘1⌘9Go to Tab 1–9 (⌘9 = last)

Panes (tmux panes)

ShortcutAction
⌘DSplit Right
⌘⇧DSplit Down
⌘]Next Pane (cycle)
⌘[Previous Pane (cycle)
⌘⌥↑Go to Pane Above
⌘⌥↓Go to Pane Below
⌘⌥←Go to Pane Left
⌘⌥→Go to Pane Right
⌘⌃↑Resize Pane Up
⌘⌃↓Resize Pane Down
⌘⌃←Resize Pane Left
⌘⌃→Resize Pane Right
⌘⇧↩Toggle Pane Zoom
⌘⌃=Equalize Panes

Tools

ShortcutAction
⌘GOpen Lazygit
⌘EOpen Yazi

Window

ShortcutAction
⌘BToggle Sidebar
⌘⌃FToggle Full Screen
⌘MMinimize
⌘⇧WClose Window

Worktrees

ShortcutAction
⌘⇧NNew Worktree
⌃TabNext Worktree
⌃⇧TabPrevious Worktree

Command Palette

ShortcutAction
⌘⇧PToggle Command Palette

Customizing Shortcuts

All Mori app shortcuts listed above (except locked system shortcuts) are fully customizable via Settings > Keyboard. You can remap any configurable shortcut to a different key combination, unassign it entirely, or reset it back to the default.

Locked shortcuts — such as Edit commands (Cmd+Z, Cmd+C, etc.), Quit (Cmd+Q), Hide (Cmd+H), Minimize (Cmd+M), and Toggle Fullscreen (Cmd+Ctrl+F) — cannot be changed because they are routed through the macOS AppKit responder chain.

Mori includes conflict detection: if you assign a shortcut that is already used by a locked system binding, the assignment is blocked. If the conflict is with another configurable binding, Mori warns you and offers to reassign, displacing the previous binding. To restore all shortcuts to their original defaults, use the Reset All button in Settings > Keyboard.

Shortcut overrides are saved to ~/Library/Application Support/Mori/keybindings.json as a sparse file (only modified bindings are stored). Changes take effect immediately without restarting the app.

Note: Ghostty terminal keybindings are configured separately — see the section below.

Ghostty Terminal

Ghostty keybindings that don't conflict with Mori shortcuts pass through to the terminal. Common examples:

ShortcutAction
⌘KClear Screen
⌘+Increase Font Size
⌘-Decrease Font Size

Customize terminal keybindings in ~/.config/ghostty/config.