Настройка терминала
Настройте терминал для комфортной работы с CLI Cursor. В этом руководстве описаны сочетания клавиш для многострочного ввода, режим Vim и синхронизация темы.
Быстрый старт
Если в вашем Терминале Shift+Enter не вставляет перенос строки, выполните /setup-terminal, чтобы узнать, как настроить альтернативные варианты:
/setup-terminalЭта команда определяет ваш терминал и выводит инструкции по настройке Option+EnterAlt+Enter как альтернативного способа вставки новой строки.
Универсальные варианты
Эти способы работают во всех терминалах, включая tmux, screen и SSH-сессии:
| Способ | Описание |
|---|---|
| \+Enter | Введите обратную косую черту, затем нажмите Enter, чтобы вставить новую строку |
| Ctrl+J | Стандартный управляющий символ новой строки (ASCII line feed) |
Если вы используете tmux или другие сочетания клавиш работают некорректно, Ctrl+J — наиболее надёжный вариант.
Поддержка терминала
Встроенная поддержка Shift+Enter
Эти терминалы поддерживают Shift+Enter для вставки новой строки без дополнительной настройки:
- iTerm2 (macOS)
- Ghostty
- Kitty
- Warp
- Zed (встроенный терминал)
Требуется /setup-terminal
В этих терминалах необходимо выполнить /setup-terminal, чтобы настроить Option+EnterAlt+Enter для вставки перевода строки:
- Apple Terminal (macOS)
- Alacritty
- VS Code (встроенный терминал)
Терминальные мультиплексоры
tmux и screen перехватывают Shift+Enter, не передавая его приложениям. Вместо этого используйте универсальные сочетания:
- Ctrl+J — Надёжно работает во всех сессиях мультиплексора
- \+Enter — Также работает во всех случаях
Вы можете настроить внешний терминал (например, iTerm2) для Shift+Enter, но это сочетание клавиш не будет передаваться через tmux. Для наиболее стабильной работы используйте универсальные сочетания.
Режим Vim
Включите сочетания клавиш Vim для навигации и редактирования в области ввода CLI.
Переключение через slash-команду
/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 + перемещение | Удалить диапазон (например, dw удаляет слово) |
| dd | Удалить всю строку |
| D | Удалить до конца строки |
| s | Заменить символ (удалить и перейти в режим вставки) |
| S, cc | Изменить всю строку |
| C | Изменить до конца строки |
Переход в режим вставки
| Клавиша | Описание |
|---|---|
| i | Вставить в позиции курсора |
| a | Вставить после курсора |
| I | Вставить в начале строки |
| A | Вставить в конце строки |
| o | Открыть новую строку ниже |
| O | Открыть новую строку выше |
Повторы
Указывайте число перед командой, чтобы повторить её. Например, 3w перемещает на 3 слова вперёд, а 2dd удаляет 2 строки.
Режим Vim влияет только на область ввода. Для навигации по истории чата и другим элементам интерфейса используются стандартные сочетания клавиш.
Тема терминала
CLI Cursor автоматически определяет цветовую схему терминала и подстраивает под неё свой внешний вид.
Автоматическое определение
CLI определяет цвет фона вашего терминала с помощью стандартных управляющих последовательностей. Большинство современных терминалов поддерживают эту функцию:
- Тёмные терминалы → CLI использует тёмную тему
- Светлые терминалы → CLI использует светлую тему
Терминалы с автоматическим определением
Эти терминалы корректно определяют цветовую схему:
- iTerm2
- Ghostty
- Kitty
- Alacritty
- Apple Terminal
- Windows Terminal
- встроенный терминал VS Code
Принудительный выбор темы
Если автоматическое определение не работает, его можно переопределить с помощью переменной окружения:
# Принудительно включить тёмную темуexport COLORFGBG="15;0"# Принудительно включить светлую темуexport COLORFGBG="0;15"Добавьте это в профиль вашей оболочки (.bashrc, .zshrc и т. д.), чтобы настройка сохранялась.
Устранение неполадок с темой
Цвета отображаются некорректно:
- Убедитесь, что ваш терминал поддерживает 256 цветов или true color
- Проверьте, что
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+EnterAlt+Enter отправляет специальную управляющую последовательность, которую CLI Cursor распознаёт как перевод строки. Настройте терминал так, чтобы при нажатии Option+EnterAlt+Enter он отправлял \x1b\r (Escape, за которым следует возврат каретки).
iTerm2:
- Откройте Preferences → Profiles → Keys → Key Mappings
- Нажмите +, чтобы добавить новое сопоставление
- Установите для Keyboard Shortcut значение Option+EnterAlt+Enter
- Установите для Action значение "Send Escape Sequence"
- Введите
\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 может некорректно передавать 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+EnterAlt+Enter не работают через tmux
- Вместо них используйте Ctrl+J или \+Enter
- Эти универсальные варианты работают везде, включая вложенные сессии tmux
Сессии SSH:
- Возможности удалённого терминала зависят от локального эмулятора терминала
- Ctrl+J надёжно работает через SSH
- \+Enter — ещё один надёжный вариант
Сводка
| Сочетание клавиш | Работает в | Примечания |
|---|---|---|
| Ctrl+J | Во всех терминалах | Самый надёжный вариант, работает везде |
| \+Enter | Во всех терминалах | Универсальная альтернатива |
| Shift+Enter | iTerm2, Ghostty, Kitty, Warp, Zed | Встроенная поддержка, настройка не требуется |
| Option+EnterAlt+Enter | После /setup-terminal | Альтернатива для перевода строки в Apple Terminal, Alacritty и VS Code |