메인 콘텐츠로 건너뛰기
사용자 정의 가능한 키보드 단축키는 Claude Code v2.1.18 이상이 필요합니다. claude --version으로 버전을 확인하세요.
Claude Code는 사용자 정의 가능한 키보드 단축키를 지원합니다. /keybindings를 실행하여 ~/.claude/keybindings.json에서 구성 파일을 만들거나 열 수 있습니다.

구성 파일

keybindings 구성 파일은 bindings 배열이 있는 객체입니다. 각 블록은 컨텍스트와 키 입력을 작업에 매핑하는 맵을 지정합니다.
keybindings 파일의 변경 사항은 자동으로 감지되고 Claude Code를 다시 시작하지 않고도 적용됩니다.
필드설명
$schema편집기 자동 완성을 위한 선택적 JSON Schema URL
$docs선택적 설명서 URL
bindings컨텍스트별 바인딩 블록 배열
이 예제는 채팅 컨텍스트에서 Ctrl+E를 외부 편집기를 열기에 바인딩하고 Ctrl+U를 바인딩 해제합니다:
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "https://code.claude.com/docs/ko/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null
      }
    }
  ]
}

컨텍스트

각 바인딩 블록은 바인딩이 적용되는 컨텍스트를 지정합니다:
컨텍스트설명
Global앱의 모든 곳에 적용됨
Chat주 채팅 입력 영역
Autocomplete자동 완성 메뉴가 열려 있음
Settings설정 메뉴(Escape로만 닫기)
Confirmation권한 및 확인 대화 상자
Tabs탭 네비게이션 구성 요소
Help도움말 메뉴가 표시됨
Transcript트랜스크립트 뷰어
HistorySearch기록 검색 모드(Ctrl+R)
Task백그라운드 작업이 실행 중
ThemePicker테마 선택기 대화 상자
Attachments이미지/첨부 파일 바 네비게이션
Footer바닥글 표시기 네비게이션(작업, 팀, diff)
MessageSelector되돌리기 및 요약 대화 상자 메시지 선택
DiffDialogDiff 뷰어 네비게이션
ModelPicker모델 선택기 노력 수준
Select일반 선택/목록 구성 요소
Plugin플러그인 대화 상자(찾아보기, 발견, 관리)

사용 가능한 작업

작업은 namespace:action 형식을 따릅니다. 예를 들어 chat:submit은 메시지를 보내고 app:toggleTodos는 작업 목록을 표시합니다. 각 컨텍스트에는 사용 가능한 특정 작업이 있습니다.

앱 작업

Global 컨텍스트에서 사용 가능한 작업:
작업기본값설명
app:interruptCtrl+C현재 작업 취소
app:exitCtrl+DClaude Code 종료
app:toggleTodosCtrl+T작업 목록 표시 여부 전환
app:toggleTranscriptCtrl+O상세 트랜스크립트 전환

기록 작업

명령 기록을 탐색하기 위한 작업:
작업기본값설명
history:searchCtrl+R기록 검색 열기
history:previousUp이전 기록 항목
history:nextDown다음 기록 항목

채팅 작업

Chat 컨텍스트에서 사용 가능한 작업:
작업기본값설명
chat:cancelEscape현재 입력 취소
chat:killAgentsCtrl+X Ctrl+K모든 백그라운드 에이전트 종료
chat:cycleModeShift+Tab*권한 모드 순환
chat:modelPickerCmd+P / Meta+P모델 선택기 열기
chat:fastModeMeta+O빠른 모드 전환
chat:thinkingToggleCmd+T / Meta+T확장 사고 전환
chat:submitEnter메시지 제출
chat:undoCtrl+_마지막 작업 실행 취소
chat:externalEditorCtrl+G, Ctrl+X Ctrl+E외부 편집기에서 열기
chat:stashCtrl+S현재 프롬프트 숨기기
chat:imagePasteCtrl+V (Windows에서 Alt+V)이미지 붙여넣기
*VT 모드가 없는 Windows에서(Node <24.2.0/<22.17.0, Bun <1.2.23), 기본값은 Meta+M입니다.

자동 완성 작업

Autocomplete 컨텍스트에서 사용 가능한 작업:
작업기본값설명
autocomplete:acceptTab제안 수락
autocomplete:dismissEscape메뉴 닫기
autocomplete:previousUp이전 제안
autocomplete:nextDown다음 제안

확인 작업

Confirmation 컨텍스트에서 사용 가능한 작업:
작업기본값설명
confirm:yesY, Enter작업 확인
confirm:noN, Escape작업 거부
confirm:previousUp이전 옵션
confirm:nextDown다음 옵션
confirm:nextFieldTab다음 필드
confirm:previousField(바인딩 해제됨)이전 필드
confirm:cycleModeShift+Tab권한 모드 순환
confirm:toggleExplanationCtrl+E권한 설명 전환

권한 작업

권한 대화 상자의 Confirmation 컨텍스트에서 사용 가능한 작업:
작업기본값설명
permission:toggleDebugCtrl+D권한 디버그 정보 전환

트랜스크립트 작업

Transcript 컨텍스트에서 사용 가능한 작업:
작업기본값설명
transcript:toggleShowAllCtrl+E모든 콘텐츠 표시 전환
transcript:exitCtrl+C, Escape트랜스크립트 보기 종료

기록 검색 작업

HistorySearch 컨텍스트에서 사용 가능한 작업:
작업기본값설명
historySearch:nextCtrl+R다음 일치 항목
historySearch:acceptEscape, Tab선택 수락
historySearch:cancelCtrl+C검색 취소
historySearch:executeEnter선택한 명령 실행

작업 작업

Task 컨텍스트에서 사용 가능한 작업:
작업기본값설명
task:backgroundCtrl+B현재 작업을 백그라운드로 이동

테마 작업

ThemePicker 컨텍스트에서 사용 가능한 작업:
작업기본값설명
theme:toggleSyntaxHighlightingCtrl+T구문 강조 전환

도움말 작업

Help 컨텍스트에서 사용 가능한 작업:
작업기본값설명
help:dismissEscape도움말 메뉴 닫기

탭 작업

Tabs 컨텍스트에서 사용 가능한 작업:
작업기본값설명
tabs:nextTab, Right다음 탭
tabs:previousShift+Tab, Left이전 탭

첨부 파일 작업

Attachments 컨텍스트에서 사용 가능한 작업:
작업기본값설명
attachments:nextRight다음 첨부 파일
attachments:previousLeft이전 첨부 파일
attachments:removeBackspace, Delete선택한 첨부 파일 제거
attachments:exitDown, Escape첨부 파일 바 종료

바닥글 작업

Footer 컨텍스트에서 사용 가능한 작업:
작업기본값설명
footer:nextRight다음 바닥글 항목
footer:previousLeft이전 바닥글 항목
footer:openSelectedEnter선택한 바닥글 항목 열기
footer:clearSelectionEscape바닥글 선택 지우기

메시지 선택기 작업

MessageSelector 컨텍스트에서 사용 가능한 작업:
작업기본값설명
messageSelector:upUp, K, Ctrl+P목록에서 위로 이동
messageSelector:downDown, J, Ctrl+N목록에서 아래로 이동
messageSelector:topCtrl+Up, Shift+Up, Meta+Up, Shift+K맨 위로 이동
messageSelector:bottomCtrl+Down, Shift+Down, Meta+Down, Shift+J맨 아래로 이동
messageSelector:selectEnter메시지 선택

Diff 작업

DiffDialog 컨텍스트에서 사용 가능한 작업:
작업기본값설명
diff:dismissEscapeDiff 뷰어 닫기
diff:previousSourceLeft이전 diff 소스
diff:nextSourceRight다음 diff 소스
diff:previousFileUpDiff의 이전 파일
diff:nextFileDownDiff의 다음 파일
diff:viewDetailsEnterDiff 세부 정보 보기
diff:back(컨텍스트별)Diff 뷰어에서 뒤로 이동

모델 선택기 작업

ModelPicker 컨텍스트에서 사용 가능한 작업:
작업기본값설명
modelPicker:decreaseEffortLeft노력 수준 감소
modelPicker:increaseEffortRight노력 수준 증가

선택 작업

Select 컨텍스트에서 사용 가능한 작업:
작업기본값설명
select:nextDown, J, Ctrl+N다음 옵션
select:previousUp, K, Ctrl+P이전 옵션
select:acceptEnter선택 수락
select:cancelEscape선택 취소

플러그인 작업

Plugin 컨텍스트에서 사용 가능한 작업:
작업기본값설명
plugin:toggleSpace플러그인 선택 전환
plugin:installI선택한 플러그인 설치

설정 작업

Settings 컨텍스트에서 사용 가능한 작업:
작업기본값설명
settings:search/검색 모드 진입
settings:retryR사용량 데이터 다시 로드(오류 시)

음성 작업

음성 받아쓰기가 활성화되었을 때 Chat 컨텍스트에서 사용 가능한 작업:
작업기본값설명
voice:pushToTalkSpace프롬프트를 받아쓰기 위해 누르고 있기

키 입력 구문

수정자

+ 구분자로 수정자 키를 사용합니다:
  • ctrl 또는 control - Control 키
  • alt, opt, 또는 option - Alt/Option 키
  • shift - Shift 키
  • meta, cmd, 또는 command - Meta/Command 키
예를 들어:
ctrl+k          수정자가 있는 단일 키
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    여러 수정자

대문자

독립 실행형 대문자는 Shift를 의미합니다. 예를 들어 Kshift+k와 동일합니다. 이는 대문자와 소문자 키가 다른 의미를 갖는 vim 스타일 바인딩에 유용합니다. 수정자가 있는 대문자(예: ctrl+K)는 스타일 지정으로 처리되며 Shift를 의미하지 않습니다ctrl+Kctrl+k와 동일합니다.

코드

코드는 공백으로 구분된 키 입력 시퀀스입니다:
ctrl+k ctrl+s   Ctrl+K를 누르고 놓은 다음 Ctrl+S를 누릅니다

특수 키

  • escape 또는 esc - Escape 키
  • enter 또는 return - Enter 키
  • tab - Tab 키
  • space - 스페이스바
  • up, down, left, right - 화살표 키
  • backspace, delete - Delete 키

기본 단축키 바인딩 해제

작업을 null로 설정하여 기본 단축키를 바인딩 해제합니다:
{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

예약된 단축키

이러한 단축키는 다시 바인딩할 수 없습니다:
단축키이유
Ctrl+C하드코딩된 중단/취소
Ctrl+D하드코딩된 종료
Ctrl+M터미널의 Enter와 동일(둘 다 CR 전송)

터미널 충돌

일부 단축키는 터미널 멀티플렉서와 충돌할 수 있습니다:
단축키충돌
Ctrl+Btmux 접두사(두 번 눌러서 보내기)
Ctrl+AGNU screen 접두사
Ctrl+ZUnix 프로세스 일시 중단(SIGTSTP)

Vim 모드 상호 작용

vim 모드가 활성화되면(/vim), 키바인딩과 vim 모드는 독립적으로 작동합니다:
  • Vim 모드는 텍스트 입력 수준에서 입력을 처리합니다(커서 이동, 모드, 동작).
  • 키바인딩은 구성 요소 수준에서 작업을 처리합니다(작업 전환, 제출 등).
  • vim 모드의 Escape 키는 INSERT를 NORMAL 모드로 전환합니다. chat:cancel을 트리거하지 않습니다.
  • 대부분의 Ctrl+key 단축키는 vim 모드를 통과하여 키바인딩 시스템으로 이동합니다.
  • vim NORMAL 모드에서 ?는 도움말 메뉴를 표시합니다(vim 동작).

유효성 검사

Claude Code는 키바인딩을 검증하고 다음에 대한 경고를 표시합니다:
  • 구문 분석 오류(잘못된 JSON 또는 구조)
  • 잘못된 컨텍스트 이름
  • 예약된 단축키 충돌
  • 터미널 멀티플렉서 충돌
  • 동일한 컨텍스트의 중복 바인딩
/doctor를 실행하여 키바인딩 경고를 확인합니다.