Deepseek ArtifactsDeepseek Artifacts
Настройка клавиатуры · Обновлено до v2.1.288

Кейбиндинги Claude Code: переназначение клавиш, режим Vim и горячие клавиши

Все способы изменить поведение клавиш в Claude Code: правка keybindings.json, включение режима vim через /vim или /config и набор горячих клавиш по умолчанию, которые действительно стоит запомнить.

Коротко

  • Кейбиндинги живут в ~/.claude/keybindings.json — команда /keybindings создает и открывает файл. Правки вступают в силу сразу после сохранения, без перезапуска.
  • Привязки сгруппированы по контекстам (Chat, Autocomplete, Agents, Scroll…) и сопоставляют клавишу вроде "ctrl+e" действию вроде chat:externalEditor. Присвойте клавише null, чтобы отвязать её.
  • Режим vim: выполните /vim, либо /config → Editor mode → Space → Enter. Escape переключает INSERT/NORMAL, а визуальный режим (v/V) появился в v2.1.118.
  • Некоторые клавиши не тронуть: Ctrl+C, Ctrl+D и Ctrl+M нельзя переназначить, а префикс Ctrl+B в tmux перехватывает сочетания до того, как их увидит Claude Code.

How to Enable Vim Editor in Claude Code CLI

Канал: ProgrammingKnowledge21:32

Открыть

Claude Code v2.1.118 — Vim Visual Mode & Custom Themes

Канал: Claude Code Updates0:41

Открыть

How to use Vim in Claude Code

Канал: HAMY LABS5:41

Открыть

Claude Code release notes — v2.1.118 & v2.1.288

Release notes: github.com/anthropics/claude-code

Открыть

Keybindings — official documentation

Документация: code.claude.com/docs

Открыть

Факты на этой странице сверены с официальной документацией по кейбиндингам и записями changelog v2.1.118 и v2.1.288; скриншоты взяты из перечисленных выше видео. Описанное поведение соответствует Claude Code v2.1.288 (октябрь 2026).

Скриншоты — кадры из упомянутых видео: используются с указанием авторства и на каждом шаге ссылаются на исходный таймкод.

Переназначаем клавиши и включаем режим vim, шаг за шагом

Переназначение клавиш в keybindings.json

  1. 1

    Запустите Claude Code и проверьте окружение

    Выполните claude в терминале, чтобы начать сессию. Настройка клавиш и режим vim — возможности CLI, поэтому все на этой странице происходит в том же промпте. В v2.1.288 и новее доступны и свежие сочетания окна agents: поиск по Ctrl+F и переходы между группами по Alt+↑/↓.

    Claude Code welcome screen in a Windows PowerShell terminal showing the session banner and an empty prompt before any keybindings are customized
    Свежая сессия Claude Code, готовая к настройке.Смотреть с 0:17
  2. 2

    Откройте keybindings.json командой /keybindings

    Введите /keybindings в промпте. Если ~/.claude/keybindings.json ещё не существует, Claude Code создаст файл и откроет его в вашем редакторе. Любое сохранённое изменение подхватывается автоматически — перезапуск не нужен.

    Claude Code slash command menu filtering the command list after a forward slash is typed into the input box
    Меню слэш-команд фильтруется по мере ввода — /keybindings среди пунктов.Смотреть с 0:34
  3. 3

    Сопоставьте клавишу действию внутри контекста

    Файл содержит массив bindings, сгруппированный по контекстам — Chat, Autocomplete, Agents, Task, Scroll и другие. Каждый блок сопоставляет клавишу имени действия: undefined }. Добавьте поле $schema в начало файла, и редактор будет автодополнять имена действий.

  4. 4

    Отвязывайте через null и собирайте последовательности

    Присвойте клавише null, чтобы отключить стандартное поведение — "ctrl+s": null выключает stash ввода. Последовательности (chords) разделяются пробелом: "ctrl+x ctrl+k" означает нажать Ctrl+X, затем в течение трех секунд Ctrl+K. Несколько комбинаций зарезервированы и не переназначаются: Ctrl+C, Ctrl+D, Ctrl+M, Ctrl+[ и Ctrl+I.

Включение режима vim

  1. 5

    Откройте панель настроек командой /config

    Предпочитаете переключатель правке JSON вручную? /config открывает панель из видеоразбора: вкладки Status, Config и Usage плюс поле поиска, фильтрующее список по мере ввода.

    Claude Code /config settings panel listing Auto-compact, Todo list, Editor mode and Theme options in the terminal
    Панель /config перечисляет все настройки, включая Editor mode.Смотреть с 0:40
  2. 6

    Отфильтруйте список до Editor mode

    Введите edit в поле поиска, и список сузится до настройки Editor mode. По умолчанию там стоит normal — редактирование в стиле readline, привычное, если вы пришли из bash или эмакс-привязок.

    Claude Code config search filtered to the Editor mode setting showing its default normal value
    Editor mode по умолчанию — normal; Space переключает.Смотреть с 1:08
  3. 7

    Нажмите Space, чтобы переключиться на vim

    Когда строка Editor mode выделена, нажмите Space — значение сменится с normal на vim. Строка подсказки фиксирует правила: Space меняет, Enter сохраняет, / ищет, Esc отменяет.

    Claude Code Editor mode setting switched from normal to vim in the /config panel
    Чтобы выбрать vim, достаточно одного нажатия Space.Смотреть с 1:11
  4. 8

    Сохраните и найдите -- INSERT --

    Нажмите Enter для сохранения. Claude Code выведет «Set editor mode to vim», а в статусной строке появится vim-маркер -- INSERT --. Выбор сохраняется между сессиями на той же машине — он хранится как editorMode внутри ~/.claude.json. Это рантайм-файл с кэшами OAuth и состоянием сессий, symlink его в свои dotfiles не стоит.

    Claude Code confirming Set editor mode to vim with the vim INSERT mode indicator in the footer
    Сохранено — в футере появился индикатор -- INSERT --.Смотреть с 1:28
  5. 9

    Вставляйте в insert mode, командуйте в normal mode

    Insert mode работает как обычный набор текста. Escape переключает в normal mode: h, j, k, l двигают курсор, b и w прыгают по словам, d удаляет, c меняет, r заменяет. Повторный запуск /vim выключает режим целиком. Собственные клавиши vim не переназначаются через keybindings.json — для INSERT-последовательностей вроде jj существует настройка vimInsertModeRemaps.

  6. 10

    Выделяйте текст визуальным режимом (v2.1.118+)

    Старые туториалы пишут, что визуального режима нет — это устарело. В релизе v2.1.118 появились визуальный режим (v) и построчный режим (V) с выделением, операторами и наглядной обратной связью: v плюс движение выделяет символы, V плюс движение — целые строки, затем d, y или c применяются к выделению.

    Claude Code v2.1.118 release note card listing the vim visual mode commands v plus motion and V plus motion
    В v2.1.118 выделение v и V добралось до vim-режима Claude Code.Смотреть с 0:16

Горячие клавиши по умолчанию, которые стоит выучить

  1. 11

    Выучите самые нужные стандартные сочетания

    Shift+Tab листает режимы разрешений, Enter отправляет, Ctrl+J добавляет перевод строки, Ctrl+L очищает ввод, Ctrl+R ищет по истории, Ctrl+O показывает транскрипт, Ctrl+T — задачи, Ctrl+B уводит задачу в фон, Ctrl+X Ctrl+K останавливает агентов. В окне agents (v2.1.288+) Ctrl+F ищет сессию по имени, Alt+↑/↓ прыгает по группам — и всё это переназначается в keybindings.json.

keybindings.json против /config и /vim: кто что меняет

За поведение клавиш в Claude Code отвечают три слоя. Они накладываются друг на друга, а не конкурируют — выбирайте слой под нужное изменение.

  • 1keybindings.json переназначает отдельные действия. Перенесите chat:externalEditor на ctrl+e, отвяжите chat:stash, добавьте последовательность ctrl+x. Тонкая настройка, переносимость и безопасное версионирование.
  • 2/config → Editor mode переключает всю модель редактирования между normal (readline) и vim. Один переключатель, мгновенное сохранение, действие во всех будущих сессиях этой машины.
  • 3/vim делает ровно то же, что переключатель Editor mode, — самый короткий путь и команда из разбора HAMY LABS. Повторный запуск возвращает normal.
  • 4Терминал перехватывает часть клавиш до того, как их увидит Claude Code: префикс Ctrl+B в tmux, Ctrl+A в GNU screen и Ctrl+Z, приостанавливающий процесс. Это решается на уровне терминала, а не keybindings.json.
  • 5Внутри режима vim переназначить его поведение (скажем, jj на escape) позволяет только vimInsertModeRemaps — keybindings.json намеренно не трогает внутренние клавиши vim.

Общее правило: раздражает одно сочетание → keybindings.json; нужен другой стиль редактирования в целом → режим vim; клавиша вовсе не доходит → сначала проверьте терминал.

Кейбиндинг не работает? Чините по порядку

Почти все жалобы на кейбиндинги сводятся к пяти причинам. Пройдите список до того, как снова править файл.

  • 1После правки ничего не меняется: убедитесь, что файл — именно ~/.claude/keybindings.json (не settings.json) и что JSON парсится. Запустите Claude Code с --debug, чтобы увидеть предупреждения о привязках: опечатки в действиях, неизвестные контексты.
  • 2Клавиша отказывается переназначаться: Ctrl+C, Ctrl+D, Ctrl+M (всегда Enter), Ctrl+[ (всегда Escape) и Ctrl+I (всегда Tab) зарезервированы. Печатные символы в текстовых полях уходят во ввод, а не в привязки.
  • 3Ctrl+B или Ctrl+A не доходят: tmux и GNU screen съедают их как собственные префиксы. Переназначьте сочетание в keybindings.json или смените префикс мультиплексора.
  • 4Повторное использование префикса не удаётся: пока с ctrl+x начинается несколько последовательностей, отвяжите их все — только тогда ctrl+x сработает как обычная одиночная клавиша.
  • 5Клавиши vim игнорируют ваши привязки: так задумано — режим vim управляет своими клавишами сам. Для insert-последовательностей есть vimInsertModeRemaps, а если выделение v или V не работает, обновите Claude Code (нужна v2.1.118+).

Чтобы вернуть любое значение по умолчанию, удалите его строку из keybindings.json — восстанавливает исходную привязку именно удаление, а не записанное «default»-значение.

FAQ по кейбиндингам Claude Code

Больше гайдов по Claude Code