Claude Code 공식문서 리뷰-참고자료(Reference)[2] : 대화형 모드(Interactive mode)
- -
안녕하세요! 갓대희입니다.
Claude Code Docs 공식 문서 >> [참고자료(Reference)] 섹션의 내용 중 [대화형 모드(Interactive mode)]를 살펴 보려고 합니다.
이번 섹션 부터는 영문, 한글번역본이 모두 공식문서로 존재하는 섹션이니 한글 문서를 편하게 참고 하셔도 될 것 같습니다.
https://code.claude.com/docs/ko/interactive-mode
대화형 모드 - Claude Code Docs
Claude Code 세션의 키보드 단축키, 입력 모드 및 대화형 기능에 대한 완전한 참조입니다.
code.claude.com
이 카테고리의 글은 편하게 공식 문서 위주의 내용을 눈으로 쭉 살펴 보고 넘어가는 목적을 갖고 시작 하게 되었습니다.
저도 초심으로 돌아가 기초적읜 글을 살펴보다보니, 지금와서 클로드에서 강조 하고자 하는 원칙이 어떤건지 되돌아볼 수 있는 계기가 되기도 하는 것 같아, 다른 분들도 꼭 한번 눈으로라도 이해 하고 넘어가는것이 좋다고 생각하여 공식 문서의 내용을 억지로 리뷰해보게 되었습니다.

Claude Code 대화형 모드
원본: code.claude.com
대화형 모드는 Claude Code의 핵심이다. 터미널에서 claude를 실행하면 시작되는 REPL(Read-Eval-Print Loop) 환경에서, 키보드 단축키와 빠른 명령으로 개발 효율을 크게 높일 수 있다.
Claude Code를 처음 시작하거나, 더 효율적으로 사용하고 싶은 개발자. 단축키 하나로 작업 시간을 절반으로 줄일 수 있다.
- 키보드 단축키로 빠르게 취소, 검색, 모드 전환
- 빠른 명령으로 파일 참조, 메모리 저장, 셸 실행
- 백그라운드 실행으로 빌드하면서 다른 작업 계속
- Vim 모드로 익숙한 편집 환경 사용
- 명령 기록으로 이전에 쓴 프롬프트 재사용
REPL (Read-Eval-Print Loop)이란?
입력을 읽고(Read), 평가하고(Eval), 결과를 출력(Print)하는 순환 구조다. Python 인터프리터(python)나 Node.js REPL(node)과 같은 개념이다.
처음 시작하기
# 1. Claude Code 시작
$ claude
# 2. 간단한 요청
> 이 프로젝트 구조를 설명해줘
# 3. 응답이 너무 길면?
> (esc 로 중단)
# 4. 이전 요청 수정해서 다시
> (↑ 화살표로 불러오기)
> 이 프로젝트 구조를 간단히 3줄로 설명해줘
키보드 단축키
일반 컨트롤
| 단축키 | 설명 | 언제 쓰나? |
|---|---|---|
Ctrl+C |
현재 입력 또는 생성 취소 | 응답이 길거나 잘못된 방향일 때 |
Ctrl+D |
Claude Code 세션 종료 | 작업 완료 후 나갈 때 |
Ctrl+L |
터미널 화면 지우기 | 화면이 복잡할 때 (대화 기록은 유지됨) |
Ctrl+O |
상세 출력 토글 | Claude가 어떤 도구를 쓰는지 확인할 때 |
Ctrl+R |
명령 기록 역방향 검색 | 예전에 썼던 프롬프트 찾을 때 |
Ctrl+V (macOS/Linux)Alt+V (Windows) |
클립보드에서 이미지 붙여넣기 | 스크린샷으로 UI 버그 설명할 때 |
↑/↓ 화살표 |
명령 기록 탐색 | 이전 프롬프트 재사용할 때 |
Esc + Esc |
코드/대화 되돌리기 | Claude가 수정한 코드를 원래대로 복원할 때 |
Shift+Tab 또는 Alt+M |
권한 모드 전환 | Auto-Accept, Plan 모드로 전환할 때 |
Option+P (macOS)Alt+P (Windows/Linux) |
모델 전환 (프롬프트 유지) | 작성 중인 프롬프트를 지우지 않고 Haiku/Opus로 전환할 때 |
활용 시나리오
- "Claude가 코드를 잘못 수정했어" →
Esc+Esc로 되돌리기 - "방금 쓴 프롬프트가 뭐였지?" →
↑화살표로 불러오기 - "복잡한 작업이니 Opus로 해야겠다" →
Alt+P로 모델 전환 - "Claude가 뭘 하고 있는지 궁금해" →
Ctrl+O로 상세 출력 보기
멀티라인 입력
여러 줄에 걸친 코드를 붙여넣거나, 복잡한 요청을 구조화해서 입력할 때 필요하다. Enter를 누르면 바로 전송되기 때문에, 줄바꿈을 하려면 별도 방법이 필요하다.
| 방법 | 단축키 | 권장 상황 |
|---|---|---|
| 빠른 이스케이프 | \ + Enter |
어디서든 작동, 가장 확실한 방법 |
| macOS 기본 | Option+Enter |
macOS 사용자라면 익숙할 것 |
| 터미널 설정 후 | Shift+Enter |
IDE에서 익숙한 방식, 설정 필요 |
| 컨트롤 시퀀스 | Ctrl+J |
유닉스 스타일 줄바꿈 |
| 그냥 붙여넣기 | 직접 붙여넣기 | 코드나 로그를 복사해서 붙여넣을 때 |
VS Code 터미널이나 iTerm2에서 Shift+Enter를 사용하고 싶다면:
/terminal-setup
→ Claude Code 내에서 이 명령을 실행하면 자동으로 설정된다.
팁
긴 코드를 붙여넣을 때는 그냥 복사해서 붙여넣으면 된다. Claude Code가 자동으로 멀티라인으로 인식한다. 별도 설정 없이도 작동한다.
빠른 명령 - 접두어 하나로 기능 호출
입력의 첫 글자만으로 Claude Code의 다양한 기능을 바로 호출할 수 있다. 타이핑 몇 글자가 줄어들지만, 하루에 수십 번 쓰면 차이가 크다.
| 접두어 | 기능 | 실제 사용 예시 |
|---|---|---|
# |
메모리에 저장 (CLAUDE.md에 추가) | # 항상 TypeScript 사용 |
/ |
슬래시 명령 (설정, 도움말 등) | /model opus |
! |
Bash 직접 실행 | ! npm test |
@ |
파일 경로 자동완성 | @src/index.ts 분석해줘 |
# 코드 수정 후 항상 npm run lint 실행
→ CLAUDE.md에 저장되어 Claude가 이후 작업에서 기억한다.
! npm test
! git status
! docker ps
→ Claude의 해석이나 승인 없이 바로 실행되고, 결과가 대화에 추가된다.
@src/components/Button.tsx 이 파일 분석해줘
@package.json 의존성 중 업데이트할 거 있어?
→ Tab을 누르면 경로 자동완성이 된다.
Vim 에디터 모드
Vim에 익숙하다면 Claude Code에서도 h/j/k/l 이동, dd 삭제 등 익숙한 명령을 그대로 쓸 수 있다. Vim을 모른다면 이 섹션은 건너뛰어도 된다. 기본 모드로도 충분하다.
# 임시 활성화
/vim
# 영구 설정
/config → vim 옵션 선택
주요 명령어 요약
| 카테고리 | 명령어 | 동작 |
|---|---|---|
| 모드 전환 | Esc |
NORMAL 모드로 |
i / a |
INSERT 모드로 (커서 앞/뒤) | |
I / A |
INSERT 모드로 (줄 시작/끝) | |
o / O |
새 줄 열기 (아래/위) | |
| 이동 | h/j/k/l |
좌/하/상/우 |
w / e / b |
다음 단어 / 단어 끝 / 이전 단어 | |
0 / ^ / $ |
줄 시작 / 첫 비공백 문자 / 줄 끝 | |
gg / G |
입력 시작 / 입력 끝 | |
| 편집 | x |
문자 삭제 |
dd / D |
줄 삭제 / 줄 끝까지 삭제 | |
dw / de / db |
단어 삭제 / 단어 끝까지 / 이전 단어 | |
cc / C / cw |
줄 변경 / 줄 끝까지 변경 / 단어 변경 | |
| 반복 | . |
마지막 변경 반복 |
명령 기록 - 이전 프롬프트 재사용
반복적인 작업을 할 때 매번 같은 프롬프트를 타이핑할 필요가 없다. 이전에 잘 작동했던 프롬프트를 그대로 불러와서 사용하면 된다.
- 기록은 작업 디렉토리별로 저장된다 (프로젝트마다 별도)
/clear명령으로 기록을 지울 수 있다↑/↓화살표로 탐색한다- 참고: History expansion(
!)은 기본적으로 비활성화되어 있다. Bash의!!나!$는 작동하지 않는다.
역방향 검색 (Ctrl+R) 활용법
# 1. Ctrl+R 눌러서 검색 모드 진입
(reverse-i-search): _
# 2. 찾고 싶은 키워드 입력
(reverse-i-search): refactor
→ "이 함수를 refactor해서 읽기 쉽게 만들어줘"가 하이라이트됨
# 3. Ctrl+R을 다시 누르면 더 오래된 결과로 이동
# 4. Tab으로 선택 후 편집, 또는 Enter로 바로 실행
| 키 | 동작 |
|---|---|
Ctrl+R |
검색 시작 / 다음 결과 |
Tab 또는 Esc |
선택 후 편집 계속 |
Enter |
선택 후 즉시 실행 |
Ctrl+C |
검색 취소 (원래 입력으로 복원) |
Backspace (빈 검색어에서) |
검색 취소 |
백그라운드 실행 - 빌드하면서 다른 작업하기
npm install이나 npm run build는 몇 분씩 걸릴 수 있다. 그동안 멍하니 기다릴 필요 없이, 백그라운드로 돌리고 다른 작업을 계속하면 된다.
| 방법 1: 프롬프트로 요청 | "npm install을 백그라운드로 실행해줘" → Claude가 알아서 백그라운드로 실행 |
| 방법 2: Ctrl+B | 일반 Bash 명령이 실행 중일 때 Ctrl+B 누르기→ 실행 중인 명령이 백그라운드로 이동 |
Tmux의 prefix key가 Ctrl+B라서, Claude Code에서는 Ctrl+B를 두 번 눌러야 한다.
백그라운드로 돌리기 좋은 명령
| 유형 | 예시 | 왜 백그라운드? |
|---|---|---|
| 빌드 도구 | webpack, vite, make | 빌드 시간이 길다 |
| 패키지 설치 | npm install, yarn | 네트워크 대기 시간 |
| 테스트 | jest, pytest | 전체 테스트 시간이 길다 |
| 개발 서버 | npm run dev | 계속 실행 상태 유지 |
| 인프라 | docker build, terraform | 리소스 프로비저닝 대기 |
💡 백그라운드 작업 관리
- 백그라운드 작업은 고유 ID가 부여되어 추적 가능
- Claude가 BashOutput 도구로 결과를 가져올 수 있음
- Claude Code 종료 시 자동으로 정리됨
Bash 모드 (!) - Claude 거치지 않고 바로 실행
Claude에게 설명하거나 승인받을 필요 없이 바로 명령을 실행하고 싶을 때. "git status 해줘"라고 요청하는 것보다 ! git status가 훨씬 빠르다.
# 바로 실행되고, 결과가 대화에 추가됨
! npm test
! git status
! ls -la
! docker ps
| 특징 | 설명 |
|---|---|
| 컨텍스트 추가 | 명령과 출력이 대화에 추가됨 → 이후 Claude가 참조 가능 |
| 실시간 출력 | 진행 상황과 출력을 바로 볼 수 있음 |
| 백그라운드 지원 | Ctrl+B로 백그라운드 전환 가능 |
| 승인 불필요 | Claude의 해석이나 승인 없이 바로 실행 |
플랫폼별 설정 - macOS 사용자 주의
macOS에서 Option+Enter나 Option+P가 작동하지 않는다면 터미널 설정을 확인해야 한다.
- Preferences → Profiles → Keys
- "Left Option key" 또는 "Right Option key"를 "Esc+"로 설정
- Preferences → Profiles → Keyboard
- "Use Option as Meta key" 체크
단축키가 안 될 때
위 설정을 했는데도 안 되면 ?를 입력해서 현재 환경에서 실제로 사용 가능한 단축키 목록을 확인하자. 터미널과 OS 조합에 따라 일부 단축키가 다르게 바인딩되어 있을 수 있다.
문제 해결 - 자주 겪는 상황
문제 1: "Ctrl+C를 눌러도 안 멈춰요"
Ctrl+C를 눌러도 Claude가 계속 응답을 생성함
원인터미널이 신호를 제대로 전달하지 못하는 경우가 있음
해결- Ctrl+C를 여러 번 빠르게 눌러보기
- 그래도 안 되면 Ctrl+D로 세션 종료 후 다시 시작
- 터미널 설정에서 "Send signal" 옵션 확인
문제 2: "화살표 키가 이상한 문자를 출력해요"
↑ 키를 누르면 ^[[A 같은 문자가 나타남
터미널이 ANSI 이스케이프 시퀀스를 제대로 처리하지 못함
해결- 터미널 에뮬레이터 변경 (iTerm2, Windows Terminal 권장)
TERM=xterm-256color환경변수 설정
문제 3: "한글 입력이 깨져요"
한글을 입력하면 글자가 깨지거나 이상하게 표시됨
해결- 터미널 인코딩을 UTF-8로 설정
- 셸 설정 파일에
export LANG=en_US.UTF-8추가 - 터미널 폰트가 한글을 지원하는지 확인
문제 4: "Esc+Esc로 되돌리기가 안 돼요"
Esc를 두 번 눌러도 코드가 복원되지 않음
원인- Git 저장소가 아닌 경우 되돌리기 불가
- 체크포인트가 생성되지 않은 경우
- Git 저장소에서 작업하는지 확인
/undo슬래시 명령 시도- Git으로 직접 되돌리기:
git checkout -- .
요약 - 자주 쓰는 기능 모음
처음엔 3가지만 쓰다가, 필요할 때 하나씩 추가로 익히면 된다.
필수 단축키
| 단축키 | 용도 | 빈도 |
|---|---|---|
Ctrl+C |
취소하기 | 매일 수십 번 |
↑/↓ |
이전 명령 불러오기 | 매일 수십 번 |
Esc+Esc |
코드 되돌리기 | 자주 |
빠른 명령 (생산성 향상)
| 접두어 | 용도 | 예시 |
|---|---|---|
! |
바로 실행 | ! npm test |
@ |
파일 참조 | @src/index.ts 분석해 |
# |
메모리 저장 | # 항상 테스트 실행 |
/ |
슬래시 명령 | /model haiku |
고급 기능 (필요할 때)
| 기능 | 단축키/명령 | 언제 쓰나 |
|---|---|---|
| 백그라운드 실행 | Ctrl+B |
빌드하면서 다른 작업할 때 |
| 명령 검색 | Ctrl+R |
예전 프롬프트 찾을 때 |
| 모델 전환 | Alt+P |
복잡한 작업에 Opus 쓸 때 |
| Vim 모드 | /vim |
Vim 사용자일 때 |
다음 단계 - 더 알아보기
| 문서 | 언제 읽으면 좋나? |
|---|---|
| 슬래시 명령 | /init, /model, /memory 등 세부 명령을 알고 싶을 때 |
| 체크포인팅 | Esc+Esc 되돌리기가 어떻게 작동하는지 자세히 알고 싶을 때 |
| CLI 레퍼런스 | claude --help의 모든 옵션을 알고 싶을 때 |
| Settings | Claude Code의 동작을 커스터마이징하고 싶을 때 |
| 메모리 관리 | CLAUDE.md 파일로 Claude에게 프로젝트 규칙을 가르치고 싶을 때 |
'AI > Claude Code Doc(공식문서) 번역본' 카테고리의 다른 글
당신이 좋아할만한 콘텐츠
-
Claude Code 공식문서 리뷰-참고자료(Reference)[4] : 체크포인팅(Checkpointing) 2026.01.19
-
Claude Code 공식문서 리뷰-참고자료(Reference)[3] : 슬래시 명령어(Slash commands) 2026.01.07
-
Claude Code 공식문서 리뷰-참고자료(Reference)[1] : CLI 참고 자료(CLI reference) 2026.01.06
-
Claude Code 공식문서 리뷰-Configuration[5] : 상태 줄 구성(Status line configuration) 2026.01.05
소중한 공감 감사합니다