클로드 코드 단축키 설정 방법: /keybindings로 외부 편집기 키 처음 바꾸는 법
TL;DR
첫 변경: Chat 컨텍스트에서 ctrl+e를 chat:externalEditor에 연결해 외부 편집기 키로 씁니다.
적용 확인: 저장한 설정은 재시작 없이 자동 적용되며, 예약 키와 터미널 충돌 경고를 확인해야 합니다.
핵심 3줄 요약
입력창에서 /keybindings를 실행해 사용자 설정 파일을 엽니다.
Chat 컨텍스트에 ctrl+e와 chat:externalEditor를 한 항목만 추가합니다.
저장 뒤 실제 채팅에서 시험하고 JSON·예약 키·터미널 충돌을 확인합니다.
이 글에서 다룰 내용
Claude Code keybindings는 무엇이고 언제 쓰면 좋은가
긴 작업 지시나 여러 줄 오류 로그를 터미널 입력창에서 고치다 보면 커서 이동과 문단 편집이 불편할 수 있습니다. Claude Code에는 현재 채팅 입력을 외부 편집기에서 다룰 수 있는
chat:externalEditor
액션이 있습니다.
Claude Code keybindings는 키 입력을 컨텍스트별 액션에 연결하는 사용자 설정 기능입니다. Chat, Confirmation, Transcript처럼 화면 상태를 나누므로 같은 키도 어떤 화면에서 눌렀는지에 따라 다른 액션을 맡을 수 있습니다.
공식 문서에서 외부 편집기의 기본 키는 Ctrl+G와 Ctrl+X Ctrl+E입니다. 이 조합이 익숙하지 않다면 Chat 컨텍스트에서 Ctrl+E로 바꾸는 작은 설정부터 시작합니다.
시작 전에 확인할 경계
/keybindings
는 Claude Code 입력창에서 실행합니다. 공식 문서는 이 명령이
~/.claude/keybindings.json
을 만들거나 연다고 안내합니다. 설정은 bindings 배열 안에서 컨텍스트와 키·액션 조합을 정의합니다.
이번 글은 Chat 컨텍스트의 chat:externalEditor만 바꿉니다. Vim 모드의 커서 이동이나 INSERT·NORMAL 전환은 별도 체계이며 keybindings 파일로 Vim 키 자체를 다시 지정하지 않습니다.
공식 문서는 계정 플랜, 지역, 언어별 제공 조건을 따로 명시하지 않습니다. /keybindings가 없거나 문서와 다른 경고가 보이면 현재 Claude Code 버전과 공식 문서를 확인합니다.
/keybindings로 외부 편집기 키를 바꾸는 순서
1. 현재 입력을 비운 뒤 /keybindings를 실행합니다
Claude Code 입력창에서 /keybindings를 실행합니다. 명령은 사용자 홈의
~/.claude/keybindings.json
을 만들거나 기존 파일을 엽니다.
기존 파일이 있다면 바로 덮어쓰지 말고 내용을 먼저 확인합니다. 이미 bindings 배열과 Chat 블록이 있으면 같은 컨텍스트 안에 필요한 항목만 합칩니다.
2. Chat 컨텍스트와 액션 이름을 확인합니다
외부 편집기 키는 채팅 입력 영역에서만 필요하므로 컨텍스트를 Chat으로 둡니다. 액션 이름은 공식 문서의
chat:externalEditor
를 그대로 씁니다.
3. Ctrl+E 바인딩 한 개만 추가합니다
새 파일이라면 다음 예시로 시작할 수 있습니다. 기존 파일이 있다면 전체를 교체하지 말고 현재 구조에 같은 블록을 병합합니다.
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+e": "chat:externalEditor"
}
}
]
}
Ctrl+E는 Chat 컨텍스트에서 외부 편집기를 엽니다. 다른 컨텍스트의 Ctrl+E 동작까지 한꺼번에 바꾸는 설정은 아닙니다.
4. 저장하고 자동 적용 여부를 확인합니다
파일을 저장합니다. 공식 문서에 따르면 keybindings 파일의 변경은 자동 감지되므로 Claude Code를 다시 시작할 필요가 없습니다.
Claude Code는 잘못된 JSON 구조, 유효하지 않은 컨텍스트, 예약 키 충돌, 터미널 멀티플렉서 충돌, 같은 컨텍스트의 중복 바인딩을 경고합니다.
5. 채팅 입력에서 외부 편집기 동작을 시험합니다
Claude Code 채팅 입력창에 짧은 테스트 문장을 적고 Ctrl+E를 누릅니다. 외부 편집기가 열리는지, 문장을 고친 뒤 결과가 채팅 입력으로 돌아오는지 확인합니다.
작동하지 않으면 예약 키와 터미널 충돌을 봅니다. Ctrl+B는 tmux, Ctrl+A는 GNU screen, Ctrl+Z는 Unix 프로세스 일시 정지와 충돌할 수 있습니다.
그대로 복사해 쓸 프롬프트
목표: Claude Code의 Chat 컨텍스트에서 Ctrl+E로 chat:externalEditor를 실행하도록 keybindings 변경안을 준비해 줘. 허용 입력: ~/.claude/keybindings.json의 현재 내용, Claude Code 공식 keybindings 문서, 내가 지정한 키 ctrl+e와 액션 chat:externalEditor. 제외 입력: 프로젝트 소스 파일, API 키·토큰·.env, 다른 컨텍스트의 기존 바인딩, 터미널 설정 변경. 출력 형식: 1) 기존 설정 요약 2) 변경 대상 파일 3) 적용 전 diff 4) JSON 유효성 확인 5) 저장 뒤 테스트 순서 6) 되돌리는 방법. 완료 기준: 기존 bindings를 보존하고 Chat 컨텍스트에 필요한 항목 하나만 추가하며, 예약 키와 중복 바인딩 경고가 없음. 추정 금지: 현재 파일 내용, 터미널이 전달하는 키, Vim 모드 설정, 외부 편집기 종류를 확인 없이 만들어 내지 말 것. 승인 지점: keybindings.json을 쓰기 전에 전체 diff를 보여 주고 내 승인을 기다릴 것.
실전 활용 팁
처음에는 한 액션만 바꿉니다. 여러 키를 한 번에 변경하면 JSON 오류, 중복 바인딩, 터미널 충돌 중 어디에서 문제가 생겼는지 찾기 어렵습니다.
키 조합은 터미널에 안정적으로 전달되는지가 중요합니다. 공식 문서는 대부분의 터미널에서 cmd 또는 Super 조합이 전달되지 않을 수 있으므로 여러 환경에서 쓸 설정에는 ctrl이나 meta를 권합니다.
주의할 점
Ctrl+C, Ctrl+D, Ctrl+M, Caps Lock은 공식 문서상 다시 지정할 수 없습니다. 충돌 경고가 나오면 다른 조합을 선택합니다.
- Ctrl+B, Ctrl+A, Ctrl+Z는 tmux·GNU screen·Unix 제어 기능과 충돌할 수 있습니다.
- 같은 컨텍스트에 동일한 키를 중복 등록하지 않습니다.
- 기존 bindings 배열을 통째로 교체하지 말고 백업과 diff를 확인합니다.
- Vim 모드의 키 동작과 component keybindings를 같은 설정으로 보지 않습니다.
- 자세한 경고는 Claude Code를 –debug로 시작해 debug log에서 확인합니다.
자주 묻는 질문
/keybindings를 실행하면 어떤 파일이 열리나요?
공식 문서에 따르면 사용자 설정 파일 ~/.claude/keybindings.json을 만들거나 엽니다. 저장한 변경은 자동 감지됩니다.
Ctrl+E를 모든 화면에서 바꾸게 되나요?
아닙니다. 예시의 컨텍스트는 Chat이므로 채팅 입력 영역의 Ctrl+E만 chat:externalEditor에 연결합니다. 다른 컨텍스트는 별도 바인딩을 가질 수 있습니다.
저장한 뒤 Claude Code를 다시 시작해야 하나요?
아닙니다. 공식 문서는 keybindings 파일 변경을 자동으로 감지해 재시작 없이 적용한다고 안내합니다.
새 단축키가 작동하지 않으면 무엇부터 보나요?
JSON 경고, 예약 키, 같은 컨텍스트의 중복 바인딩을 먼저 확인합니다. 그다음 tmux·GNU screen·운영체제와 터미널이 키를 가로채는지 점검합니다.
출처
/keybindings 진입 경로, 사용자 파일 위치, bindings 구조, Chat 컨텍스트, chat:externalEditor, Ctrl+E 예시, 자동 적용, 예약 키, 터미널 충돌, Vim 모드 경계와 validation 경고를 확인했습니다.
마무리
Claude Code 단축키 설정의 시작점은 입력창의 /keybindings입니다. 사용자 설정 파일에서 Chat 컨텍스트의 Ctrl+E를 chat:externalEditor에 연결하고, 저장 뒤 실제 채팅 입력에서 외부 편집기가 열리는지 확인하세요.
첫 변경은 한 항목으로 제한하는 편이 안전합니다. 기존 bindings를 보존하고 예약 키와 터미널 충돌 경고를 확인하면 익숙한 편집 흐름을 Claude Code에 무리 없이 붙일 수 있습니다.
