終端設定
基於 Cursor 官方 Terminal Setup 文件解釋多行輸入、Shift+Enter、Ctrl+J、tmux、Vim mode、主題檢測和手動 keybinding 配置。
Cursor CLI 的終端設定重點不是“好不好看”,而是多行輸入、快捷鍵、tmux / SSH 相容、Vim mode 和主題檢測能否穩定工作。
閱讀目標:讀完本章,你應該能解決 Shift+Enter 不換行、tmux 裡快捷鍵失效、Vim mode 開關和主題顏色異常。
1. 先處理多行輸入
如果 Shift+Enter 不能插入換行,先在 CLI 會話裡執行:
/setup-terminal它會檢測當前終端,並指導你配置 Option+Enter 作為替代換行方式。
所有終端都可用的兜底方式:
| Method | 說明 |
|---|---|
\\ + Enter | 輸入反斜槓,再按 Enter 插入換行 |
| Ctrl+J | ASCII line feed,tmux、screen、SSH 中最可靠 |
如果你在 tmux、screen 或遠端 SSH 中工作,優先記 Ctrl+J。
2. 終端支援矩陣
原生支援 Shift+Enter:
- iTerm2
- Ghostty
- Kitty
- Warp
- Zed integrated terminal
通常需要 /setup-terminal 配置 Option+Enter:
- Apple Terminal
- Alacritty
- VS Code integrated terminal
tmux 和 screen 會在 keybinding 到達應用前攔截 Shift+Enter。即使外層 iTerm2 或 Ghostty 支援 Shift+Enter,進入 tmux 後也可能無法透傳。這種情況下用 Ctrl+J 或 \\ + Enter。
3. Vim mode
CLI 輸入區支援 Vim keybindings。
/vim/vim 會切換當前 session 的 Vim mode,並儲存偏好。
也可以寫進 ~/.cursor/cli-config.json:
{
"version": 1,
"editor": { "vimMode": true },
"permissions": { "allow": [], "deny": [] }
}Vim mode 隻影響 CLI input area。聊天曆史和其他 UI 區域仍使用標準 keybindings。
常用模式:
| Mode | 說明 |
|---|---|
| Normal | 移動、刪除、執行編輯命令 |
| Insert | 正常輸入文本 |
Esc 從 Insert 回到 Normal。i、a、I、A、o、O 進入不同插入位置。
4. Vim 常用鍵
導航:
| Key | 作用 |
|---|---|
h / l | 左 / 右 |
j / k | 下 / 上 |
w / b | 下一個 / 上一個 word |
e | word 末尾 |
0 / $ | 行首 / 行尾 |
編輯:
| Key | 作用 |
|---|---|
x | 刪除游標下字元 |
X | 刪除游標前字元 |
dw | 刪除 word |
dd | 刪除整行 |
D | 刪除到行尾 |
s | 替換字元並進入 Insert |
S / cc | 改整行 |
C | 改到行尾 |
支援 counts,例如 3w 前進 3 個 word,2dd 刪除 2 行。
5. 主題檢測
Cursor CLI 會查詢終端背景色,並自動匹配 light / dark theme。
自動檢測表現較好的終端:
- iTerm2
- Ghostty
- Kitty
- Alacritty
- Apple Terminal
- Windows Terminal
- VS Code integrated terminal
如果顏色異常,先檢查:
- 終端是否支援 256 colors 或 true color。
TERM是否正確,例如xterm-256color。- 是否被 tmux、SSH 或代理 shell 改寫環境變數。
可用 COLORFGBG 強制主題:
export COLORFGBG="15;0" # dark
export COLORFGBG="0;15" # light要長期生效,把它放進 .zshrc、.bashrc 或對應 shell profile。
6. tmux 設定
tmux 使用者可以在 .tmux.conf 中啟用更好的顏色透傳:
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"修改後重啟 tmux。注意:這解決顏色,不保證 Shift+Enter 透傳。多行輸入仍建議用 Ctrl+J。
7. 手動 keybinding 配置
Option+Enter 需要傳送 Escape + carriage return,也就是 \x1b\r。
iTerm2:
- 開啟 Preferences。
- 進入 Profiles。
- 進入 Keys。
- 新增 Key Mapping。
- Keyboard Shortcut 設為 Option+Enter。
- Action 選 Send Escape Sequence。
- Escape sequence 填
\r。
Alacritty:
[keyboard]
bindings = [
{ key = "Return", mods = "Alt", chars = "\u001b\r" }
]Kitty:
map alt+enter send_text all \x1b\rVS Code integrated terminal 的 Shift+Enter 可能需要在 keybindings.json 中傳送 sequence。企業環境中如果 VS Code keybindings 被統一管理,要把這項納入 dev environment baseline。
8. 排障順序
快捷鍵不工作:
- 用
cat或showkey看終端是否真的發出按鍵序列。 - 檢查是否在 tmux / screen 中。
- 使用 Ctrl+J 兜底。
- 再執行
/setup-terminal。
SSH 中不工作:
- 遠端能力取決於本地 terminal emulator。
- Ctrl+J 最穩。
\\+ Enter 也可以作為通用方案。
顏色異常:
- 檢查
TERM。 - 檢查 true color。
- tmux 使用者補
.tmux.conf。 - 必要時設定
COLORFGBG。
深讀:為什麼 Ctrl+J 是最值得記的快捷鍵
Shift+Enter 和 Option+Enter 都依賴終端、系統、複用器和遠端會話如何傳遞 modifier key。Ctrl+J 是標準控制字元,穿過 tmux、screen、SSH 的成功率更高。
所以真實工作流裡,不要把多行輸入只繫結到某個終端的 Shift+Enter。團隊 SOP 裡應該把 Ctrl+J 寫成兜底鍵。
本章自檢
完成本章後,用這 3 個問題檢查自己是否真正理解:
- 為什麼 tmux 中 Shift+Enter 經常失效?
/setup-terminal主要解決哪個替代換行鍵?- 顏色異常時應該先檢查哪些環境條件?
透過標準:你能在 Ghostty、tmux、SSH 和 VS Code terminal 中分別說明最可靠的換行方式。
官方來源
- Cursor Terminal Setup —— 官方多行輸入、終端支援、Vim mode、主題檢測、手動配置和排障。
- Cursor CLI Configuration —— 官方
editor.vimMode配置。 - Using Agent in CLI —— 官方 CLI 輸入快捷鍵和 review 操作背景。