Настройка сочетаний клавиш
Настройте сочетания клавиш в Claude Code с помощью файла конфигурации keybindings.
Claude Code поддерживает настраиваемые сочетания клавиш. Запустите /keybindings для создания или открытия файла конфигурации в ~/.claude/keybindings.json.
Файл конфигурации
Файл конфигурации сочетаний клавиш — это объект с массивом bindings. Каждый блок указывает контекст и карту нажатий клавиш на действия.
Изменения в файле сочетаний клавиш автоматически обнаруживаются и применяются без перезагрузки Claude Code.
| Поле | Описание |
|---|---|
$schema |
Необязательный URL JSON Schema для автодополнения редактора |
$docs |
Необязательный URL документации |
bindings |
Массив блоков привязок по контексту |
Этот пример привязывает Ctrl+E к открытию внешнего редактора в контексте чата и отменяет привязку Ctrl+U:
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/ru/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+e": "chat:externalEditor",
"ctrl+u": null
}
}
]
}
Контексты
Каждый блок привязки указывает контекст, где применяются привязки:
| Контекст | Описание |
|---|---|
Global |
Применяется везде в приложении |
Chat |
Основная область ввода чата |
Autocomplete |
Меню автодополнения открыто |
Settings |
Меню параметров |
Confirmation |
Диалоги разрешений и подтверждений |
Tabs |
Компоненты навигации по вкладкам |
Help |
Меню справки видимо |
Transcript |
Средство просмотра стенограммы |
HistorySearch |
Режим поиска истории (Ctrl+R) |
Task |
Выполняется фоновая задача |
ThemePicker |
Диалог выбора темы |
Attachments |
Навигация по вложениям изображений в диалогах выбора |
Footer |
Навигация по индикатору нижнего колонтитула (задачи, команды, diff, артефакты) |
MessageSelector |
Выбор сообщения в диалоге перемотки и резюме |
DiffDialog |
Навигация по средству просмотра diff |
DiffPanel |
Панель diff открыта |
ModelPicker |
Уровень усилий выбора модели |
EffortSlider |
Ползунок усилий, открытый с помощью /effort |
Select |
Универсальные компоненты выбора/списка |
Plugin |
Диалог plugin (обзор, обнаружение, управление) |
Agents |
Представление Agent (claude agents) |
Scroll |
Прокрутка разговора и выделение текста в полноэкранном режиме |
До версии 2.1.205 контекст Doctor и действие doctor:fix существовали для экрана диагностики /doctor.
Доступные действия
Действия следуют формату namespace:action, например chat:submit для отправки сообщения или app:toggleTodos для отображения списка задач. Каждый контекст имеет определённые доступные действия.
Действия приложения
Действия, доступные в контексте Global:
| Действие | По умолчанию | Описание |
|---|---|---|
app:interrupt |
Ctrl+C | Отменить текущую операцию |
app:exit |
Ctrl+D | Выход из Claude Code. Нажмите дважды в течение 800 мс для подтверждения |
app:redraw |
(не привязано) | Принудительно перерисовать терминал |
app:toggleTodos |
Ctrl+T | Переключить видимость списка задач Claude. Это не представление фоновых задач /tasks |
app:toggleTranscript |
Ctrl+O | Переключить подробную стенограмму |
Действия истории
Действия для навигации по истории команд:
| Действие | По умолчанию | Описание |
|---|---|---|
history:search |
Ctrl+R | Открыть поиск истории |
history:previous |
Up | Предыдущий элемент истории |
history:next |
Down | Следующий элемент истории |
Действия чата
Действия, доступные в контексте Chat:
| Действие | По умолчанию | Описание |
|---|---|---|
chat:cancel |
Escape | Отменить текущий ввод |
chat:clearInput |
Ctrl+L | Принудительно перерисовать весь экран, сохраняя ввод и разговор |
chat:clearScreen |
Cmd+K | То же, что chat:clearInput. См. Очистить разговор для информации о поведении Cmd+K в iTerm2 и Terminal.app |
chat:killAgents |
Ctrl+X Ctrl+K | Остановить всех работающих фоновых подагентов в этом сеансе и отключить автоматические ответы артефактов на остаток сеанса |
chat:cycleMode |
Shift+Tab* | Циклический перебор режимов разрешений |
chat:modelPicker |
Meta+P | Открыть выбор модели |
chat:fastMode |
Meta+O | Переключить быстрый режим |
chat:thinkingToggle |
Meta+T | Переключить расширенное мышление |
chat:submit |
Enter | Отправить сообщение |
chat:queueSubmit |
Ctrl+X Enter | Отправить сообщение, отмеченное для ожидания своей очереди: пока Claude работает, Claude Code ставит его в очередь и никогда не прерывает ход. В отличие от chat:submit, он отправляет черновик даже если выделено предложение автодополнения. Требует v2.1.247 или более позднюю версию |
chat:sendNow |
Ctrl+Enter, Ctrl+X Ctrl+S | Прервать текущий ход, чтобы ваши сообщения в очереди и ваш черновик с ними отправились сразу же. Когда ничего не выполняется, он отправляет черновик, а в режиме shell он ставит команду в очередь без прерывания. Терминалы, которые не сообщают о расширенных клавишах, доставляют Ctrl+Enter как простой Enter, поэтому Ctrl+X Ctrl+S — это привязка, которая работает в любом терминале. Требует v2.1.275 или более позднюю версию |
chat:newline |
Ctrl+J | Вставить новую строку без отправки |
chat:undo |
Ctrl+_, Ctrl+Shift+- | Отменить последнее действие |
chat:externalEditor |
Ctrl+G, Ctrl+X Ctrl+E | Открыть во внешнем редакторе. Ввод диспетчера представления агента также следует сочетаниям клавиш этого действия |
chat:stash |
Ctrl+S | Спрятать текущий запрос |
chat:imagePaste |
Ctrl+V (Alt+V на Windows и WSL) | Вставить изображение из буфера обмена. На WSL оба сочетания клавиш привязаны по умолчанию |
*На Windows без режима VT (Node <24.2.0/<22.17.0, Bun <1.2.23) по умолчанию используется Meta+M.
Действия автодополнения
Действия, доступные в контексте Autocomplete:
| Действие | По умолчанию | Описание |
|---|---|---|
autocomplete:accept |
Tab | Принять предложение |
autocomplete:dismiss |
Escape | Закрыть меню |
autocomplete:previous |
Up | Предыдущее предложение |
autocomplete:next |
Down | Следующее предложение |
Действия подтверждения
Действия, доступные в контексте Confirmation:
| Действие | По умолчанию | Описание |
|---|---|---|
confirm:yes |
Enter | Подтвердить действие |
confirm:no |
Escape | Отклонить действие |
confirm:previous |
Up | Предыдущий вариант |
confirm:next |
Down | Следующий вариант |
confirm:nextField |
Tab | Следующее поле |
confirm:previousField |
(не привязано) | Предыдущее поле |
confirm:toggle |
Space | Переключить выбор |
confirm:cycleMode |
Shift+Tab* | Циклический перебор режимов разрешений. В подсказке разрешения файла закрывает открытое поле комментария; если поле не открыто, выбирает вариант, который разрешает действие на остаток сеанса, когда подсказка предлагает этот вариант |
*На Windows без режима VT (Node <24.2.0/<22.17.0, Bun <1.2.23) по умолчанию используется Meta+M.
До v2.1.257 действие confirm:toggleExplanation, привязанное к Ctrl+E по умолчанию, показывало сгенерированное моделью объяснение команды в подсказках разрешений Bash и PowerShell.
Диалоги используют confirm:yes и confirm:no для принятия и отмены даже когда они не задают вопрос да или нет. Если вы привяжете простую букву, такую как y или n, в этом контексте, буква также действует на диалоги, которые никогда не показывают её как клавишу. Диалог, который показывает y и n как его клавиши, читает эти буквы сам и не требует привязки.
Этот пример привязывает y к confirm:yes и n к confirm:no:
{
"bindings": [
{
"context": "Confirmation",
"bindings": {
"y": "confirm:yes",
"n": "confirm:no"
}
}
]
}
До v2.1.280 y также была привязана к confirm:yes и n к confirm:no по умолчанию. Если вы создали свой keybindings.json с помощью /keybindings до v2.1.280, файл содержит обе привязки и они остаются в силе, пока вы не удалите эти две строки.
Действия разрешений
Действия, доступные в контексте Confirmation для диалогов разрешений:
| Действие | По умолчанию | Описание |
|---|---|---|
permission:toggleDebug |
(не привязано) | Переключить информацию отладки разрешения. Предыдущее значение по умолчанию Ctrl+D было удалено в v2.1.146, так как оно затеняло app:exit |
Действия стенограммы
Действия, доступные в контексте Transcript:
| Действие | По умолчанию | Описание |
|---|---|---|
transcript:toggleShowAll |
Ctrl+E | Переключить отображение всего содержимого |
transcript:exit |
q, Ctrl+C, Escape | Выход из просмотра стенограммы |
transcript:toggleShowAll применяется только в классическом рендерере; в полноэкранном рендеринге средство просмотра стенограммы не предлагает переключение показа всего.
Действия поиска истории
Действия, доступные в контексте HistorySearch:
| Действие | По умолчанию | Описание |
|---|---|---|
historySearch:next |
Ctrl+R | Следующее совпадение |
historySearch:accept |
Escape, Tab | Принять выбор |
historySearch:cancel |
Ctrl+C | Отменить поиск |
historySearch:execute |
Enter | Выполнить выбранную команду |
historySearch:cycleScope |
Ctrl+S | Циклический перебор области: сеанс, проект, везде |
Значения по умолчанию historySearch:next, historySearch:accept, historySearch:cancel и historySearch:execute применяются к встроенному поиску истории в классическом рендерере, который всегда ищет подсказки из всех проектов. historySearch:cycleScope вступает в силу только в полноэкранном рендеринге, где Ctrl+R открывает диалог поиска вместо этого и Ctrl+S циклирует его область. Другие клавиши диалога фиксированы и не могут быть переназначены: Enter или Tab помещает выделенное совпадение в ввод подсказки и Esc отменяет.
Действия задачи
Действия, доступные в контексте Task:
| Действие | По умолчанию | Описание |
|---|---|---|
task:background |
Ctrl+B, Ctrl+X Ctrl+B | Переместить текущую задачу в фон. Сочетание клавиш Ctrl+X Ctrl+B избегает конфликта с префиксом tmux |
Действия темы
Действия, доступные в контексте ThemePicker:
| Действие | По умолчанию | Описание |
|---|---|---|
theme:toggleSyntaxHighlighting |
Ctrl+T | Переключить подсветку синтаксиса |
Действия справки
Действия, доступные в контексте Help:
| Действие | По умолчанию | Описание |
|---|---|---|
help:dismiss |
Escape | Закрыть меню справки |
Действия вкладок
Действия, доступные в контексте Tabs:
| Действие | По умолчанию | Описание |
|---|---|---|
tabs:next |
Tab, Right | Следующая вкладка |
tabs:previous |
Shift+Tab, Left | Предыдущая вкладка |
Действия вложений
Действия, доступные в контексте Attachments:
| Действие | По умолчанию | Описание |
|---|---|---|
attachments:next |
Right | Следующее вложение |
attachments:previous |
Left | Предыдущее вложение |
attachments:remove |
Backspace, Delete | Удалить выбранное вложение |
attachments:exit |
Down, Escape | Выход из навигации по вложениям |
Действия нижнего колонтитула
Действия, доступные в контексте Footer:
| Действие | По умолчанию | Описание |
|---|---|---|
footer:next |
Right | Следующий элемент нижнего колонтитула |
footer:previous |
Left | Предыдущий элемент нижнего колонтитула |
footer:up |
Up | Навигация вверх в нижнем колонтитуле (отмена выбора в верхней части) |
footer:down |
Down | Навигация вниз в нижнем колонтитуле |
footer:openSelected |
Enter | Открыть выбранный элемент нижнего колонтитула |
footer:clearSelection |
Escape | Очистить выбор нижнего колонтитула |
footer:dismiss |
Backspace, Delete | Удалить выбранную ссылку артефакта из нижнего колонтитула; сам опубликованный артефакт не затронут. На других строках нижнего колонтитула эти клавиши не имеют эффекта. Требует v2.1.217 или более позднюю версию |
Пока элемент нижнего колонтитула выбран, например строка в панели агента ниже подсказки, Enter открывает его даже если вы переназначили Enter в контексте Chat на chat:queueSubmit или chat:newline.
Привязки Chat на клавишах, которые контекст Footer не привязывает, такие как Shift+Tab для chat:cycleMode, продолжают работать пока элемент выбран.
Действия выбора сообщения
Действия, доступные в контексте MessageSelector:
| Действие | По умолчанию | Описание |
|---|---|---|
messageSelector:up |
Up, K, Ctrl+P | Переместиться вверх в списке |
messageSelector:down |
Down, J, Ctrl+N | Переместиться вниз в списке |
messageSelector:top |
Ctrl+Up, Shift+Up, Meta+Up, Shift+K | Перейти в начало |
messageSelector:bottom |
Ctrl+Down, Shift+Down, Meta+Down, Shift+J | Перейти в конец |
messageSelector:select |
Enter | Выбрать сообщение |
Действия diff
Действия, доступные в контексте DiffDialog:
| Действие | По умолчанию | Описание |
|---|---|---|
diff:dismiss |
Escape | Закрыть средство просмотра diff; из представления деталей возвращает к списку файлов |
diff:previousSource |
Left | Предыдущий источник diff |
diff:nextSource |
Right | Следующий источник diff |
diff:previousFile |
Up, K | Предыдущий файл в списке файлов; прокрутка вверх на одну строку в представлении деталей |
diff:nextFile |
Down, J | Следующий файл в списке файлов; прокрутка вниз на одну строку в представлении деталей |
diff:viewDetails |
Enter | Просмотреть детали diff |
diff:back |
(не привязано) | Вернуться в средстве просмотра diff. Escape выполняет действие возврата через diff:dismiss. Предыдущое значение по умолчанию Left в представлении деталей было удалено в v2.1.203 |
Представление деталей diff также привязывает клавиши в стиле пейджера к стандартным действиям прокрутки. Эти привязки являются частью контекста DiffDialog и применяются только в представлении деталей; значения по умолчанию контекста Scroll, указанные в разделе Действия прокрутки, остаются неизменными.
| Действие | По умолчанию | Описание |
|---|---|---|
scroll:pageUp |
PageUp | Прокрутить вверх на половину окна просмотра |
scroll:pageDown |
PageDown | Прокрутить вниз на половину окна просмотра |
scroll:fullPageUp |
Shift+Space, B | Прокрутить вверх на полное окно просмотра |
scroll:fullPageDown |
Space | Прокрутить вниз на полное окно просмотра |
scroll:top |
G, Home | Перейти в начало |
scroll:bottom |
Shift+G, End | Перейти в конец |
Действия панели diff
Действия для панели diff, которую открывает /diff в полноэкранном рендеринге. app:cycleDiffBase находится в контексте DiffPanel, который активен пока панель открыта; остальные находятся в Global. Панель требует Claude Code v2.1.260 или более позднюю версию.
| Действие | По умолчанию | Описание |
|---|---|---|
app:toggleReplTab |
(не привязано) | Открыть или закрыть панель diff, то же самое, что запустить /diff |
app:cycleDiffBase |
Ctrl+X B | Циклировать базу сравнения панели: этот сеанс, незафиксированные изменения, затем ветка |
app:diffFileListUp |
Ctrl+Up, Meta+Up | Прокрутить список файлов панели вверх, когда он переполняется |
app:diffFileListDown |
Ctrl+Down, Meta+Down | Прокрутить список файлов панели вниз, когда он переполняется |
app:toggleDiffNoiseFilter |
(не привязано) | Показать или скрыть тестовые и сгенерированные файлы в панели |
app:toggleDiffPreSession |
(не привязано) | Развернуть или свернуть изменения до этого сеанса |
Действия выбора модели
Действия, доступные в контексте ModelPicker:
| Действие | По умолчанию | Описание |
|---|---|---|
modelPicker:decreaseEffort |
Left | Уменьшить уровень усилий |
modelPicker:increaseEffort |
Right | Увеличить уровень усилий |
modelPicker:thisSessionOnly |
s | Применить выделенную модель только к этому сеансу |
Действия ползунка усилий
Действия, доступные в контексте EffortSlider, ползунок, который открывается при запуске /effort без аргументов. Клавиши Left, Right, Enter и Escape ползунка не могут быть переназначены.
| Действие | По умолчанию | Описание |
|---|---|---|
effortSlider:thisSessionOnly |
s | Применить сфокусированный уровень усилий только к этому сеансу. Требует v2.1.257 или более позднюю версию |
Действия выбора
Действия, доступные в контексте Select:
| Действие | По умолчанию | Описание |
|---|---|---|
select:next |
Down, J, Ctrl+N | Следующий вариант |
select:previous |
Up, K, Ctrl+P | Предыдущий вариант |
select:pageUp |
PageUp | Переместиться вверх на одну страницу вариантов |
select:pageDown |
PageDown | Переместиться вниз на одну страницу вариантов |
select:first |
Home | Первый вариант |
select:last |
End | Последний вариант |
select:accept |
Enter | Принять выбор |
select:cancel |
Escape | Отменить выбор |
Claude Code применяет ваши привязки select:pageUp, select:pageDown, select:first и select:last в меню /skills. В большинстве других списков, таких как выбор модели /model, ваши привязки select:first и select:last применяются. PageUp и PageDown разбивают на страницы параметры в этих списках независимо от ваших привязок.
До v2.1.280 эти другие списки игнорировали Home, End и ваши привязки select:first и select:last.
Действия plugin
Действия, доступные в контексте Plugin:
| Действие | По умолчанию | Описание |
|---|---|---|
plugin:toggle |
Space | Переключить выбор plugin |
plugin:install |
I | Установить выбранные plugins |
plugin:favorite |
F | Добавить выбранный plugin в избранное, чтобы он сортировался ближе к верхней части вкладки Installed |
Действия параметров
Действия, доступные в контексте Settings. Действия select:accept и confirm:no переиспользуются из контекстов Select и Confirmation с поведением, специфичным для Settings: изменения применяются к каждому параметру сразу же при его изменении, поэтому Escape закрывает панель с сохранёнными изменениями, а не отклоняет их.
| Действие | По умолчанию | Описание |
|---|---|---|
settings:search |
/ | Перейти в режим поиска |
settings:retry |
R | Повторить загрузку данных об использовании (при ошибке) |
select:accept |
Enter, Space | Изменить выбранный параметр или открыть его подменю |
confirm:no |
Escape | Закрыть панель. Изменения уже сохранены |
Действия агентов
Действия, доступные в контексте Agents, который применяется в представлении агента, открытом с помощью claude agents. Требует v2.1.257 или более позднюю версию.
| Действие | По умолчанию | Описание |
|---|---|---|
agents:switchView |
Ctrl+S | Переключить группировку сеанса между состоянием и директорией |
agents:togglePin |
Ctrl+T | Закрепить или открепить выбранный сеанс |
Пока представление агента открыто, Claude Code использует привязку Agents для любой клавиши, которую контекст Agents привязывает, и игнорирует привязку Chat или Global на той же клавише. Например, нажатие Ctrl+S в представлении агента переключает группировку сеанса, а не запускает значение по умолчанию chat:stash.
Сочетание клавиш внешнего редактора ввода диспетчера не является действием Agents. Представление агента следует привязке chat:externalEditor контекста Chat, Ctrl+G по умолчанию.
Привязки срабатывают на одиночных нажатиях клавиш в представлении агента, поэтому сочетание Ctrl+X Ctrl+E, привязанное к chat:externalEditor, не открывает редактор там.
Действия голоса
Действия, доступные в контексте Chat при включённой диктовке голосом:
| Действие | По умолчанию | Описание |
|---|---|---|
voice:pushToTalk |
Space | Диктовать запрос. Удерживайте или нажимайте в зависимости от режима /voice |
Действия прокрутки
Действия, доступные в контексте Scroll при включённом полноэкранном рендеринге:
| Действие | По умолчанию | Описание |
|---|---|---|
scroll:lineUp |
wheelup |
Прокрутить вверх на одну строку. Прокрутка колесом мыши запускает это действие |
scroll:lineDown |
wheeldown |
Прокрутить вниз на одну строку. Прокрутка колесом мыши запускает это действие |
scroll:pageUp |
PageUp | Прокрутить вверх на половину высоты окна просмотра |
scroll:pageDown |
PageDown | Прокрутить вниз на половину высоты окна просмотра |
scroll:top |
Ctrl+Home | Перейти в начало разговора |
scroll:bottom |
Ctrl+End | Перейти к последнему сообщению и повторно включить автоследование |
scroll:halfPageUp |
(не привязано) | Прокрутить вверх на половину высоты окна просмотра. То же поведение, что и scroll:pageUp, предоставляется для переназначений в стиле vi |
scroll:halfPageDown |
(не привязано) | Прокрутить вниз на половину высоты окна просмотра. То же поведение, что и scroll:pageDown, предоставляется для переназначений в стиле vi |
scroll:fullPageUp |
(не привязано) | Прокрутить вверх на полную высоту окна просмотра |
scroll:fullPageDown |
(не привязано) | Прокрутить вниз на полную высоту окна просмотра |
selection:copy |
Ctrl+Shift+C / Cmd+C | Скопировать выделённый текст в буфер обмена |
selection:clear |
(не привязано) | Очистить активное выделение текста. Требует v2.1.234 или более позднюю версию |
selection:extendLeft |
Shift+Left | Расширить активное выделение на один столбец влево |
selection:extendRight |
Shift+Right | Расширить активное выделение на один столбец вправо |
selection:extendUp |
Shift+Up | Расширить активное выделение на одну строку вверх. Прокручивает окно просмотра, когда выделение достигает верхнего края |
selection:extendDown |
Shift+Down | Расширить активное выделение на одну строку вниз. Прокручивает окно просмотра, когда выделение достигает нижнего края |
selection:extendLineStart |
Shift+Home | Расширить активное выделение до начала строки |
selection:extendLineEnd |
Shift+End | Расширить активное выделение до конца строки |
Синтаксис нажатия клавиш
Модификаторы
Используйте клавиши-модификаторы с разделителем +:
ctrlилиcontrol- клавиша Controlshift- клавиша Shiftalt,opt,optionилиmeta- клавиша Alt в Windows и Linux, клавиша Option в macOScmd,command,superилиwin- клавиша Command в macOS, клавиша Windows в Windows, клавиша Super в Linux
Группа cmd обнаруживается только в терминалах, которые сообщают о модификаторе Super, таких как те, которые поддерживают протокол клавиатуры Kitty или режим modifyOtherKeys xterm. Большинство терминалов его не отправляют, поэтому используйте ctrl или meta для привязок, которые вы хотите использовать везде.
Например:
ctrl+k Ctrl + K
shift+tab Shift + Tab
meta+p Option + P в macOS, Alt + P в других местах
ctrl+shift+c Несколько модификаторов
Прописные буквы
Claude Code анализирует названия клавиш без учёта регистра, поэтому K — это то же самое привязка, что и k, а ctrl+K — то же самое, что ctrl+k. Чтобы привязать Shift и букву, напишите shift+k.
Раскладки клавиатуры, отличные от US
Пишите названия клавиш сочетаний Ctrl как латинские символы, даже если ваша активная раскладка клавиатуры вводит другие символы.
То, как Claude Code сопоставляет нажатую вами клавишу с привязкой, зависит от типа раскладки:
- При использовании нелатинской раскладки, такой как кириллица, Claude Code сопоставляет сочетания Ctrl по позиции клавиши в раскладке US, когда терминал использует протокол клавиатуры Kitty и сообщает эту позицию. В таком терминале с активной русской раскладкой нажатие Ctrl и физической клавиши W запускает
ctrl+w. В терминале, который не сообщает позицию, Claude Code сопоставляет то, что отправляет терминал для нажатия клавиши: код управления ASCII запускает латинское сочетание, а нажатие клавиши, которое приходит как кириллический символ, не соответствует никакой привязке - При использовании раскладок, которые переставляют латинские буквы, такие как AZERTY, Claude Code сопоставляет букву, которую вводит клавиша, поэтому нажатие Ctrl и клавиши с надписью A запускает
ctrl+a
До версии 2.1.247 нажатие сочетания Ctrl при использовании нелатинской раскладки не запускало его привязку в терминалах, которые используют протокол клавиатуры Kitty, таких как Ghostty, Kitty, WezTerm и iTerm2.
Аккорды
Аккорды — это последовательности нажатий клавиш, разделённые пробелами:
ctrl+k ctrl+s Нажмите Ctrl+K, отпустите, затем Ctrl+S
Нажимайте каждое сочетание клавиш в течение 3 секунд после предыдущего. Если вы ждёте дольше, Claude Code отменяет аккорд и показывает краткое уведомление об этом.
Специальные клавиши
escapeилиesc- клавиша Escapeenterилиreturn- клавиша Entertab- клавиша Tabspace- пробелup,down,left,right- клавиши со стрелкамиpageup,pagedown- клавиши Page Up и Page Downhome,end- клавиши Home и Endbackspace,delete- клавиши удаленияwheelup,wheeldown- события прокрутки колеса мыши
Отмена привязки сочетаний по умолчанию
Установите действие на null для отмены привязки сочетания по умолчанию:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null
}
}
]
}
Это также работает для привязок аккордов. Отмена привязки каждого аккорда, который использует префикс, освобождает этот префикс для использования в качестве привязки с одной клавишей. Аккорд в любом активном контексте сохраняет свой префикс зарезервированным, поэтому вы должны отменить привязку каждого аккорда в контексте, который его определяет.
Claude Code привязывает эти аккорды по умолчанию на префиксе ctrl+x: ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, ctrl+x ctrl+s и ctrl+x tab в Chat, ctrl+x ctrl+b в Task и ctrl+x b в DiffPanel. Аккорд ctrl+x enter требует версии v2.1.247 или более поздней, ctrl+x b, ctrl+x ctrl+a и ctrl+x tab требуют версии v2.1.260 или более поздней, и ctrl+x ctrl+s требует версии v2.1.275 или более поздней.
Чтобы вернуть ctrl+x как привязку с одной клавишей, отмените привязку всех из них:
{
"bindings": [
{
"context": "Task",
"bindings": {
"ctrl+x ctrl+b": null
}
},
{
"context": "DiffPanel",
"bindings": {
"ctrl+x b": null
}
},
{
"context": "Chat",
"bindings": {
"ctrl+x ctrl+k": null,
"ctrl+x ctrl+e": null,
"ctrl+x enter": null,
"ctrl+x ctrl+a": null,
"ctrl+x ctrl+s": null,
"ctrl+x tab": null,
"ctrl+x": "chat:newline"
}
}
]
}
Если вы отмените привязку некоторых, но не всех аккордов на префиксе, нажатие префикса всё ещё переводит в режим ожидания аккорда для оставшихся привязок.
Зарезервированные сочетания клавиш
Эти сочетания клавиш не могут быть переназначены:
| Сочетание клавиш | Причина |
|---|---|
| Ctrl+C | Жёстко закодированное прерывание/отмена |
| Ctrl+D | Жёстко закодированный выход |
| Ctrl+M | Claude Code всегда получает его как Enter |
| Ctrl+[ | Claude Code всегда получает его как Escape. В терминалах, использующих протокол клавиатуры Kitty, это требует версии 2.1.242 или более поздней |
| Ctrl+I | Claude Code всегда получает его как Tab |
| Ctrl+H | Отправляет байт ASCII backspace. Как Claude Code читает его на Windows зависит от вашего терминала и переменной окружения CLAUDE_CODE_BS_AS_CTRL_BACKSPACE |
| Caps Lock | Не передаётся в приложения терминала |
Конфликты терминала
Некоторые сочетания клавиш могут конфликтовать с мультиплексорами терминала:
| Сочетание клавиш | Конфликт |
|---|---|
| Ctrl+B | Префикс tmux (нажмите дважды для отправки) |
| Ctrl+A | Префикс GNU screen |
| Ctrl+Z | Приостановка процесса Unix (SIGTSTP) |
Взаимодействие с режимом vim
Когда включен режим vim через /config → Editor mode, сочетания клавиш и режим vim работают независимо:
- Режим vim обрабатывает ввод на уровне текстового ввода (движение курсора, режимы, движения)
- Сочетания клавиш обрабатывают действия на уровне компонента (переключение задач, отправка и т. д.)
- Клавиша Escape в режиме vim переключает INSERT в NORMAL режим; она не запускает
chat:cancel - Большинство сочетаний Ctrl+клавиша проходят через режим vim в систему сочетаний клавиш
- Клавиши vim не переназначаются через файл сочетаний клавиш. Чтобы сопоставить двухклавишную последовательность в режиме INSERT, такую как
jj, с клавишей Escape, используйте параметрvimInsertModeRemaps - В режиме vim NORMAL
?показывает меню справки (поведение vim) - В режиме vim NORMAL
/открывает поиск по истории, то же самое, что Ctrl+R в стандартном режиме
Валидация
Claude Code проверяет ваши сочетания клавиш и показывает предупреждения для:
- Ошибок разбора (неверный JSON или структура)
- Неверных имён контекстов
- Неверных значений действий, таких как действие, которое не является строкой или
null - Неизвестных имён действий, таких как опечатка зарегистрированного действия. Claude Code пропускает привязку и сохраняет любую привязку по умолчанию для этого ключа в силе. До версии 2.1.246 привязка с неизвестным именем действия молча отключала этот ключ
- Конфликтов зарезервированных сочетаний
- Дублирующихся привязок в одном контексте
Claude Code сообщает о предупреждениях при загрузке файла и записывает каждое в журнал отладки. Запустите Claude Code с --debug для просмотра деталей.