配置终端,获得最佳的 Cursor 命令行界面使用体验。本指南涵盖多行输入快捷键绑定、Vim 模式和主题同步。
快速开始¶
如果在终端中按 Shift+Enter 无法换行,请运行 /setup-terminal,了解如何配置替代方案:
/setup-terminal
此命令会检测你的终端,并说明如何将 Option+Enter 配置为另一种插入换行的方式。
通用选项¶
以下方法适用于所有终端,包括 tmux、screen 和 SSH 会话:
| 方法 | 描述 |
|---|---|
| +Enter | 输入反斜杠后按 Enter,即可插入换行符 |
| Ctrl+J | 换行的标准控制字符 (ASCII 换行) |
如果你正在使用 tmux,或其他快捷键绑定不起作用,Ctrl+J 是最可靠的选项。
终端支持¶
原生支持 Shift+Enter¶
以下终端原生支持使用 Shift+Enter 输入换行:
- iTerm2 (macOS)
- Ghostty
- Kitty
- Warp
- Zed (集成终端)
需运行 /setup-terminal¶
这些终端需要运行 /setup-terminal,才能将 Option+Enter 配置为输入换行:
- Apple Terminal (macOS)
- Alacritty
- VS Code (集成终端)
终端多路复用器¶
tmux 和 screen 会在 Shift+Enter 传递给应用前将其拦截。请改用通用选项:
- Ctrl+J — 在所有终端多路复用器会话中都能稳定使用
- +Enter — 同样在所有环境中可用
你可以将外层终端 (如 iTerm2) 配置为使用 Shift+Enter,但该快捷键无法透过 tmux 传递。为获得最一致的体验,请使用通用选项。
Vim 模式¶
在 CLI 输入区域启用 Vim 快捷键绑定,以便导航和编辑。
通过斜杠命令切换¶
/vim
这会在当前会话中启用或关闭 Vim 模式,并保存该偏好设置。
在设置中配置¶
将以下内容添加到 ~/.cursor/cli-config.json:
{
"version": 1,
"editor": { "vimMode": true },
"permissions": { "allow": [], "deny": [] }
}
模式¶
Vim 模式采用模态编辑:
- 普通模式 — 用于导航和执行命令 (启用 Vim 模式时的默认模式)
- 插入模式 — 正常输入文本
在插入模式下按 Esc 可返回普通模式。
导航¶
| 按键 | 描述 |
|---|---|
| h, l | 左移 / 右移 |
| j, k | 下移 / 上移 |
| w, b | 下一个 / 上一个单词 |
| e | 移至单词末尾 |
| W, B, E | 与上述相同,但用于 WORD (非空白字符序列) |
| 0, $ | 行首 / 行尾 |
编辑¶
| 按键 | 描述 |
|---|---|
| x | 删除光标所在位置的字符 |
| X | 删除光标前的字符 |
| d + motion | 删除指定范围 (例如,dw 删除一个单词) |
| dd | 删除整行 |
| D | 删除至行尾 |
| s | 替换字符 (删除后进入插入模式) |
| S, cc | 修改整行 |
| C | 修改至行尾 |
进入插入模式¶
| 按键 | 描述 |
|---|---|
| i | 在光标处插入 |
| a | 在光标后插入 |
| I | 在行首插入 |
| A | 在行尾插入 |
| o | 在下方新建一行 |
| O | 在上方新建一行 |
计数¶
在命令前加上数字可重复执行命令。例如,3w 向前移动 3 个单词,2dd 删除 2 行。
Vim 模式仅影响输入区域。浏览 chat 历史记录和其他 UI 元素时,使用标准快捷键绑定。
终端主题¶
Cursor 命令行界面会自动检测终端的配色方案,并适配其外观。
自动检测¶
CLI 会使用标准转义序列查询终端的背景颜色。大多数现代终端都支持此功能:
- 深色终端 → CLI 使用深色主题
- 浅色终端 → CLI 使用浅色主题
支持自动检测的终端¶
以下终端能正确报告其配色方案:
- iTerm2
- Ghostty
- Kitty
- Alacritty
- Apple Terminal
- Windows Terminal
- VS Code 集成终端
强制指定主题¶
如果自动检测无效,您可以通过环境变量手动指定:
# 强制使用深色主题
export COLORFGBG="15;0"
# 强制使用浅色主题
export COLORFGBG="0;15"
将此内容添加到 shell 配置文件 (.bashrc、.zshrc 等) 中,使其永久生效。
主题问题疑难排查¶
颜色显示不正常:
- 确保终端支持 256 色或真彩色
- 检查
TERM是否设置正确 (例如xterm-256color) - 尝试显式设置
COLORFGBG
tmux 用户:
- 在
.tmux.conf中添加以下内容,以正确检测颜色:
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
- 更改后重新启动 tmux
手动配置¶
如果 /setup-terminal 无法适用于您的终端,您可以手动配置快捷键绑定。
使用 Option+Enter 换行¶
Option+Enter 会发送一个特殊的转义序列,Cursor 命令行界面 会将其识别为换行。请将终端配置为在按下 Option+Enter 时发送 \x1b\r (Escape 后接回车) 。
iTerm2:
- 打开 偏好设置 → 配置文件 → 按键 → 按键映射
- 点击 + 添加新映射
- 将 键盘快捷键 设置为 Option+Enter
- 将 操作 设置为 “发送转义序列”
- 输入
\r作为转义序列
Alacritty:
将以下内容添加到 alacritty.toml:
[keyboard]
bindings = [
{ key = "Return", mods = "Alt", chars = "\u001b\r" }
]
Kitty:
将以下内容添加到你的 kitty.conf:
map alt+enter send_text all \x1b\r
Shift+Enter¶
是否支持 Shift+Enter 取决于终端能否正确识别该组合键的修饰键。大多数现代终端会自动处理,但有些可能需要配置。
VS Code 终端:
VS Code’s 集成终端可能无法正确传递 Shift+Enter。请在 keybindings.json 中添加以下内容:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[13;2u" },
"when": "terminalFocus"
}
疑难排查¶
快捷键绑定无效:
- 使用
cat或showkey验证终端能否正确识别按键 - 检查终端多路复用器 (tmux/screen) 是否拦截了按键
- 使用 Ctrl+J 作为可靠的备用方案
tmux 用户:
- Shift+Enter 和 Option+Enter 无法在 tmux 中使用
- 请改用 Ctrl+J 或 +Enter
- 这些通用选项在任何环境下均可使用,包括嵌套的 tmux 会话
SSH 会话:
- 远程终端功能取决于本地终端模拟器
- Ctrl+J 可通过 SSH 稳定使用
- +Enter 也是一个可靠的选项
摘要¶
| 快捷键 | 适用终端 | 说明 |
|---|---|---|
| Ctrl+J | 所有终端 | 最可靠,处处适用 |
| +Enter | 所有终端 | 通用替代方案 |
| Shift+Enter | iTerm2, Ghostty, Kitty, Warp, Zed | 原生支持,无需配置 |
| Option+Enter | 运行 /setup-terminal 后 |
Apple Terminal、Alacritty、VS Code 的换行替代方案 |