AI 程式設計教程中文版
官方教程中文版CLI 與自動化

終端設定

基於 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+JASCII 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。iaIAoO 進入不同插入位置。

4. Vim 常用鍵

導航:

Key作用
h / l左 / 右
j / k下 / 上
w / b下一個 / 上一個 word
eword 末尾
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:

  1. 開啟 Preferences。
  2. 進入 Profiles。
  3. 進入 Keys。
  4. 新增 Key Mapping。
  5. Keyboard Shortcut 設為 Option+Enter。
  6. Action 選 Send Escape Sequence。
  7. Escape sequence 填 \r

Alacritty:

[keyboard]
bindings = [
  { key = "Return", mods = "Alt", chars = "\u001b\r" }
]

Kitty:

map alt+enter send_text all \x1b\r

VS Code integrated terminal 的 Shift+Enter 可能需要在 keybindings.json 中傳送 sequence。企業環境中如果 VS Code keybindings 被統一管理,要把這項納入 dev environment baseline。

8. 排障順序

快捷鍵不工作:

  • catshowkey 看終端是否真的發出按鍵序列。
  • 檢查是否在 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 個問題檢查自己是否真正理解:

  1. 為什麼 tmux 中 Shift+Enter 經常失效?
  2. /setup-terminal 主要解決哪個替代換行鍵?
  3. 顏色異常時應該先檢查哪些環境條件?

透過標準:你能在 Ghostty、tmux、SSH 和 VS Code terminal 中分別說明最可靠的換行方式。

官方來源

接下來去哪

本頁目錄