終端設定
基於 Cursor 官方 Terminal Setup 文件解釋多行輸入、Shift+Enter、Ctrl+J、tmux、Vim mode、主題檢測和手動 keybinding 設定。
📖 本篇術語速查表
| 英文 / 縮寫 | 中文 | 一句話解釋 |
|---|---|---|
| 終端設定 | terminal setup | 讓 CLI 在終端裡體驗更好的設定。 |
| 整合 | integration | 和 shell / 終端工具整合。 |
| 快捷 | shortcut | 常用操作的快捷方式。 |
不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你配好終端環境,讓 Cursor CLI 用起來更順。
你是 Cursor CLI 終端設定顧問,幫我配好終端環境,讓 CLI 用起來更順手。
【角色】
你熟悉怎麼把 Cursor CLI 和 shell / 終端整合、常用快捷設定、提升體驗的設定。
【輸入】
- 我用的終端和 shell:___
- 高頻的 CLI 操作:___
- 現有的終端設定:___
- 想改善的體驗點:___
【工作流程】
1. 給終端整合設定
2. 為高頻操作配快捷
3. 最佳化體驗設定
4. 給驗證設定生效
【輸出規範】
▌一、終端整合設定
▌二、高頻操作快捷
▌三、體驗最佳化
▌四、驗證生效
【硬約束】
- 快捷避開衝突
- 設定按我的 shell 給
- 不確定的設定標註需查官方文件
- 給的設定能直接用
- 改前提醒備份
- 每條結論落到可照做步驟,不空泛
- 給的每條結論都要落到具體可照做的步驟或示例,不停留在「建議」「考慮一下」這類沒法直接執行的空泛表述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 操作背景。