새소식

300x250
AI/Claude Code Doc(공식문서) 번역본

Claude Code 공식문서 리뷰-참고자료(Reference)[2] : 대화형 모드(Interactive mode)

  • -
728x90

안녕하세요! 갓대희입니다. 

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와 대화하는 가장 효율적인 방법

대화형 모드는 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 유닉스 스타일 줄바꿈
그냥 붙여넣기 직접 붙여넣기 코드나 로그를 복사해서 붙여넣을 때
Shift+Enter 설정 방법

VS Code 터미널이나 iTerm2에서 Shift+Enter를 사용하고 싶다면:

/terminal-setup

→ Claude Code 내에서 이 명령을 실행하면 자동으로 설정된다.


긴 코드를 붙여넣을 때는 그냥 복사해서 붙여넣으면 된다. Claude Code가 자동으로 멀티라인으로 인식한다. 별도 설정 없이도 작동한다.

 

빠른 명령 - 접두어 하나로 기능 호출

4가지 접두어만 기억하자

입력의 첫 글자만으로 Claude Code의 다양한 기능을 바로 호출할 수 있다. 타이핑 몇 글자가 줄어들지만, 하루에 수십 번 쓰면 차이가 크다.

접두어 기능 실제 사용 예시
# 메모리에 저장 (CLAUDE.md에 추가) # 항상 TypeScript 사용
/ 슬래시 명령 (설정, 도움말 등) /model opus
! Bash 직접 실행 ! npm test
@ 파일 경로 자동완성 @src/index.ts 분석해줘
상황별 사용 예시
상황 1: "이 프로젝트에서는 항상 ESLint를 돌려야 해"
# 코드 수정 후 항상 npm run lint 실행

→ CLAUDE.md에 저장되어 Claude가 이후 작업에서 기억한다.

상황 2: "Claude를 거치지 않고 빠르게 테스트 돌리고 싶어"
! npm test
! git status
! docker ps

→ Claude의 해석이나 승인 없이 바로 실행되고, 결과가 대화에 추가된다.

상황 3: "이 특정 파일에 대해서만 물어보고 싶어"
@src/components/Button.tsx 이 파일 분석해줘
@package.json 의존성 중 업데이트할 거 있어?

→ Tab을 누르면 경로 자동완성이 된다.

 

Vim 에디터 모드

Vim 사용자라면 익숙한 방식으로

Vim에 익숙하다면 Claude Code에서도 h/j/k/l 이동, dd 삭제 등 익숙한 명령을 그대로 쓸 수 있다. Vim을 모른다면 이 섹션은 건너뛰어도 된다. 기본 모드로도 충분하다.

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 사용자 주의

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 거치지 않고 바로 실행

언제 Bash 모드를 쓰나?

Claude에게 설명하거나 승인받을 필요 없이 바로 명령을 실행하고 싶을 때. "git status 해줘"라고 요청하는 것보다 ! git status가 훨씬 빠르다.

# 바로 실행되고, 결과가 대화에 추가됨
! npm test
! git status
! ls -la
! docker ps
특징 설명
컨텍스트 추가 명령과 출력이 대화에 추가됨 → 이후 Claude가 참조 가능
실시간 출력 진행 상황과 출력을 바로 볼 수 있음
백그라운드 지원 Ctrl+B로 백그라운드 전환 가능
승인 불필요 Claude의 해석이나 승인 없이 바로 실행

 

플랫폼별 설정 - macOS 사용자 주의

Option 키가 안 먹히나?

macOS에서 Option+EnterOption+P가 작동하지 않는다면 터미널 설정을 확인해야 한다.

iTerm2 설정
  1. Preferences → Profiles → Keys
  2. "Left Option key" 또는 "Right Option key"를 "Esc+"로 설정
Terminal.app 설정
  1. Preferences → Profiles → Keyboard
  2. "Use Option as Meta key" 체크

단축키가 안 될 때
위 설정을 했는데도 안 되면 ?를 입력해서 현재 환경에서 실제로 사용 가능한 단축키 목록을 확인하자. 터미널과 OS 조합에 따라 일부 단축키가 다르게 바인딩되어 있을 수 있다.

 

문제 해결 - 자주 겪는 상황

문제 1: "Ctrl+C를 눌러도 안 멈춰요"

증상

Ctrl+C를 눌러도 Claude가 계속 응답을 생성함

원인

터미널이 신호를 제대로 전달하지 못하는 경우가 있음

해결
  1. Ctrl+C를 여러 번 빠르게 눌러보기
  2. 그래도 안 되면 Ctrl+D로 세션 종료 후 다시 시작
  3. 터미널 설정에서 "Send signal" 옵션 확인

문제 2: "화살표 키가 이상한 문자를 출력해요"

증상

↑ 키를 누르면 ^[[A 같은 문자가 나타남

원인

터미널이 ANSI 이스케이프 시퀀스를 제대로 처리하지 못함

해결
  1. 터미널 에뮬레이터 변경 (iTerm2, Windows Terminal 권장)
  2. TERM=xterm-256color 환경변수 설정

문제 3: "한글 입력이 깨져요"

증상

한글을 입력하면 글자가 깨지거나 이상하게 표시됨

해결
  1. 터미널 인코딩을 UTF-8로 설정
  2. 셸 설정 파일에 export LANG=en_US.UTF-8 추가
  3. 터미널 폰트가 한글을 지원하는지 확인

문제 4: "Esc+Esc로 되돌리기가 안 돼요"

증상

Esc를 두 번 눌러도 코드가 복원되지 않음

원인

- Git 저장소가 아닌 경우 되돌리기 불가
- 체크포인트가 생성되지 않은 경우

해결
  1. Git 저장소에서 작업하는지 확인
  2. /undo 슬래시 명령 시도
  3. 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에게 프로젝트 규칙을 가르치고 싶을 때
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.

💡 AI 관련 질문이 있나요? 눌러보세요!