---
title: "終端設定"
description: "基於 Cursor 官方 Terminal Setup 文件解釋多行輸入、Shift+Enter、Ctrl+J、tmux、Vim mode、主題檢測和手動 keybinding 配置。"
verifiedAt: "2026-05-09"
---

Cursor CLI 的終端設定重點不是“好不好看”，而是多行輸入、快捷鍵、tmux / SSH 相容、Vim mode 和主題檢測能否穩定工作。

> [!NOTE]
> **閱讀目標**：讀完本章，你應該能解決 Shift+Enter 不換行、tmux 裡快捷鍵失效、Vim mode 開關和主題顏色異常。

## 1. 先處理多行輸入

如果 Shift+Enter 不能插入換行，先在 CLI 會話裡執行：

```text
/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。

```text
/vim
```

`/vim` 會切換當前 session 的 Vim mode，並儲存偏好。

也可以寫進 `~/.cursor/cli-config.json`：

```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` 強制主題：

```bash
export COLORFGBG="15;0"  # dark
export COLORFGBG="0;15"  # light
```

要長期生效，把它放進 `.zshrc`、`.bashrc` 或對應 shell profile。

## 6. tmux 設定

tmux 使用者可以在 `.tmux.conf` 中啟用更好的顏色透傳：

```text
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：

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

Kitty：

```text
map alt+enter send_text all \x1b\r
```

VS 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`。

<details>
<summary>深讀：為什麼 Ctrl+J 是最值得記的快捷鍵</summary>

Shift+Enter 和 Option+Enter 都依賴終端、系統、複用器和遠端會話如何傳遞 modifier key。Ctrl+J 是標準控制字元，穿過 tmux、screen、SSH 的成功率更高。

所以真實工作流裡，不要把多行輸入只繫結到某個終端的 Shift+Enter。團隊 SOP 裡應該把 Ctrl+J 寫成兜底鍵。
</details>

## 本章自檢

完成本章後，用這 3 個問題檢查自己是否真正理解：

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

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

## 官方來源

- [Cursor Terminal Setup](https://cursor.com/docs/cli/reference/terminal-setup.md) —— 官方多行輸入、終端支援、Vim mode、主題檢測、手動配置和排障。
- [Cursor CLI Configuration](https://cursor.com/docs/cli/reference/configuration.md) —— 官方 `editor.vimMode` 配置。
- [Using Agent in CLI](https://cursor.com/docs/cli/using.md) —— 官方 CLI 輸入快捷鍵和 review 操作背景。

## 接下來去哪

<Cards>
  <Card title="返回官方教程目錄" description="繼續按能力域查 Cursor 官方資料。" href="/zh-Hant/docs/cursor/official" />
  <Card title="CLI 使用方式" description="回到實際會話、review 和 context 操作。" href="/zh-Hant/docs/cursor/official/03-cli-automation/32-cli-using" />
</Cards>
