# Keybindings — Liu Terminal

> Liu Terminal keybindings. Full keyboard shortcut reference for tabs, splits, sessions, search, and AI agents.

URL: https://liu.software/docs/keys/  
Language: en  
Updated: 2026-10-17

Bindings shown for macOS. Linux uses Ctrl/Super according to the platform event mapping. Every bindable action can be changed from Settings → Keys or ~/.config/Liu/keybindings.json.

## Tab Management

- `⌘ T` New tab
- `⌘ W` Close tab
- `⌃ Tab` Next tab
- `⌃ ⇧ Tab` Previous tab
- `⌘ 1 … ⌘ 9` Jump to tab 1–9
- `⌘ ⇧ T` Reopen closed tab
- `⌘ ⇧ E` Rename tab

## Agents & AI

- `⌘ ⇧ M` Voice Prompt — start dictating, press again to finish
- `⌘ ⇧ A` Add Vault Source — insert a Vault note reference into the agent
- `⌃ ⌘ ⌃ ⌘` Translate the prompt line — press Ctrl+Cmd twice quickly
- `⌘ ⇧ V` Vault browser

## View & Palette

- `⌘ B` Toggle sidebar
- `⌘ K` Command palette
- `⌘ ⇧ K` Clear screen
- `⌘ ⇧ S` Site Manager

## Font

`⌘ + / ⌘ -` Increase / decrease font size

`⌘ 0` Reset font size

## Editing

- `⌘ C / ⌘ X / ⌘ V / ⌘ A` Copy / Cut / Paste / Select all
- `→` Accept the inline command suggestion
- `⌘ F` Find
- `⌘ S` Save file

## Code Editor

While a document is open in the editor. Line commands act on the line under the caret.

- `⌘ S` Save
- `⌘ Z / ⌘ ⇧ Z` Undo / Redo
- `⌘ V` Paste at the caret
- `⌘ D` Duplicate the current line
- `⌘ C / ⌘ X` Copy / cut the current line
- `⌘ ⌫` Delete to the start of the line
- `⌘ ← / ⌘ →` Start / end of line
- `⌘ ↑ / ⌘ ↓` Start / end of document
- `⌥ ← / ⌥ →` Move by word
- `⌥ ⌫ / ⌥ ⌦` Delete the word before / after the caret
- `Tab` Insert four spaces
- `PgUp / PgDn` Move twenty lines

## Code Editor — Find & Replace

While the find bar is open its keys take priority over the editor's.

- `⌘ F` Open Find
- `⌘ ⇧ F / ⌘ ⌥ F` Open Find & Replace
- `Enter / ⌘ G` Next match
- `⇧ Enter / ⌘ ⇧ G` Previous match
- `Tab` Switch between the Find and Replace fields
- `Enter` In the Replace field: replace this match and move to the next
- `⌘ Enter` Replace all
- `Esc` Close the bar; the caret stays on the current match

## Terminal Scrolling

- `⇧ PageUp / ⇧ PageDown` Page up / down
- `⇧ Home / ⇧ End` Jump to top / bottom
- `⌥ ↑` Command history popup
- `⌘ ⇧ ↑ / ⌘ ⇧ ↓` Jump to the previous / next prompt

## Split (keyboard)

- `⌘ D` Horizontal split
- `⌘ ⇧ D` Vertical split
- `⌘ ⌥ ← / →` Nudge H-split divider by ±5%
- `⌘ ⌥ ↑ / ↓` Nudge V-split divider by ±5%

## Window Position

- `⌘ ⌃ ←` Snap to left half
- `⌘ ⌃ →` Snap to right half
- `⌘ ⌃ ↑` Maximize
- `⌘ ⌃ ↓` Center window
- `⌘ ⌃ ⇧ ←` Top-left quarter
- `⌘ ⌃ ⇧ →` Top-right quarter
- `⌘ ⌃ ⇧ ↑` Top half
- `⌘ ⌃ ⇧ ↓` Bottom half

## Other

`⌘ ⇧ I` Broadcast input

`⌘ ,` Settings

## Cmd + Mouse / Drag-Drop

- Interaction Cmd+Click on a terminal cell
- Action Open the URL under the cursor
- Source `src/main.c:6981`

- Interaction Hover over the terminal while holding Cmd
- Action Show the URL underlined and switch to pointer cursor
- Source `src/main.c:7695`

- Interaction Drag a tab to a new position
- Action Reorder the tab
- Source `src/main.c:8078`

- Interaction Drag a tab onto another workspace chip
- Action Move the tab to that group
- Source `src/main.c:8060`

- Interaction Drag a tab into the terminal area
- Action Turn it into a split with current tab
- Source `src/main.c:8076`

- Interaction Drag a file-browser entry onto a folder row
- Action Move the file
- Source `src/main.c:6924-7370`

- Interaction Drag a file-browser entry outside the window
- Action macOS native drag — drop into Finder or another app
- Source `fb_os_drag_handed_off`

- Interaction Drag the sidebar cwd breadcrumb
- Action Header drag — drop the folder out of the window
- Source `src/main.c:6960`

- Interaction Drag a Markdown / editor viewer title onto the tab bar
- Action Auto-run the file in a new terminal tab
- Source `src/main.c:8121-8174`

- Interaction Drag the sidebar edge
- Action Resize the sidebar width
- Source `HIT_SIDEBAR_RESIZE`

- Interaction Drag a split divider
- Action Adjust the split ratio
- Source `hittest`

## Rebind anything

Liu reads ~/.config/Liu/keybindings.json on every launch and writes the same file on exit. The file maps display action names to shortcut strings. If two actions use the same shortcut, the newest binding owns it.

```
{
  "Command Palette": "Cmd+K",
  "Split Horizontal": "Cmd+D",
  "Split Vertical": "Cmd+Shift+D",
  "Vault Browser": "Cmd+Shift+V"
}
```

## Bindable, unassigned by default

These actions exist in the keybinding table and are reachable from the palette or UI, but ship without a default shortcut.

`SSH Connect``Import SSH Config``Toggle Fullscreen``Toggle Quake Mode``Toggle Tab Group``Vault Unlock``Vault Lock``Vault Change Master Password`

[Next Agent History →](https://liu.software/docs/agent-history.md)
