4 4
5# Claude Code를 위한 터미널 구성5# Claude Code를 위한 터미널 구성
6 6
7> Shift+Enter로 줄 바꿈 수정, Claude 완료 시 터미널 벨 설정, tmux 구성, 색상 테마 일치, Claude Code CLI에서 Vim 모드 활성화합니다.7> Shift+Enter를 개행으로 수정하고, Claude가 완료되면 터미널 벨을 받으며, tmux를 구성하고, 색상 테마를 일치시키고, Claude Code CLI에서 Vim 모드를 활성화합니다.
8 8
9Claude Code는 구성 없이 모든 터미널에서 작동합니다. 이 페이지는 특정 항목이 예상대로 작동하지 않을 때를 위한 것입니다. 아래에서 증상을 찾아보세요. 이미 모든 것이 올바르게 느껴진다면 이 페이지가 필요하지 않습니다.9Claude Code는 구성 없이 모든 터미널에서 작동합니다. 이 페이지는 특정 항목이 예상대로 작동하지 않을 때를 위한 것입니다. 아래에서 증상을 찾아보십시오. 이미 모든 것이 올바르게 느껴진다면 이 페이지가 필요하지 않습니다.
10 10
11* [Shift+Enter가 줄 바꿈 대신 제출함](#enter-multiline-prompts)11* [Shift+Enter가 개행을 삽입하는 대신 제출합니다](#enter-multiline-prompts)
12* [macOS에서 Option 키 단축키가 작동하지 않음](#enable-option-key-shortcuts-on-macos)12* [macOS에서 Option 키 단축키가 작동하지 않습니다](#enable-option-key-shortcuts-on-macos)
13* [Claude 완료 시 소리 또는 알림 없음](#get-a-terminal-bell-or-notification)13* [Claude가 완료되면 소리나 알림이 없습니다](#get-a-terminal-bell-or-notification)
14* [tmux 내에서 Claude Code 실행](#configure-tmux)14* [tmux 내에서 Claude Code를 실행합니다](#configure-tmux)
15* [디스플레이 깜박임 또는 스크롤백 점프](#switch-to-fullscreen-rendering)15* [Windows에서 백스페이스가 전체 단어를 삭제합니다](#fix-backspace-deleting-a-whole-word-on-windows)
16* [프롬프트에서 Vim 키 사용](#edit-prompts-with-vim-keybindings)16* [디스플레이가 깜박이거나 스크롤백이 점프합니다](#switch-to-fullscreen-rendering)
17* [프롬프트에서 Vim 키를 원합니다](#edit-prompts-with-vim-keybindings)
17 18
18이 페이지는 터미널이 Claude Code에 올바른 신호를 보내도록 하는 것에 관한 것입니다. Claude Code 자체가 응답하는 키를 변경하려면 대신 [키 바인딩](/ko/keybindings)을 참조하세요.19이 페이지는 터미널이 Claude Code에 올바른 신호를 보내도록 하는 것에 관한 것입니다. Claude Code 자체가 응답하는 키를 변경하려면 대신 [키 바인딩](/docs/ko/keybindings)을 참조하십시오.
19 20
20<h2 id="enter-multiline-prompts">21<h2 id="enter-multiline-prompts">
21 여러 줄 프롬프트 입력22 여러 줄 프롬프트 입력
22</h2>23</h2>
23 24
24Enter를 누르면 메시지가 제출됩니다. 제출하지 않고 줄 바꿈을 추가하려면 Ctrl+J를 누르거나 `\`를 입력한 후 Enter를 누르세요. 둘 다 구성 없이 모든 터미널에서 작동합니다.25Enter를 누르면 메시지가 전송됩니다. 전송하지 않고 줄바꿈을 추가하려면 Ctrl+J를 누르거나 `\`를 입력한 후 Enter를 누르십시오. 두 방법 모두 모든 터미널에서 설정 없이 작동합니다.
25 26
26대부분의 터미널에서 Shift+Enter를 누를 수도 있지만 터미널 에뮬레이터에 따라 지원이 다릅니다:27대부분의 터미널에서는 Shift+Enter를 누를 수도 있지만, 터미널 에뮬레이터에 따라 지원이 다릅니다:
27 28
28| 터미널 | 줄 바꿈을 위한 Shift+Enter |29| 터미널 | 줄바꿈을 위한 Shift+Enter |
29| :---------------------------------------------------------------------- | :------------------------------- |30| :---------------------------------------------------------------------- | :------------------------------- |
30| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 구성 없이 작동 |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |
31| VS Code, Cursor, Devin Desktop, Alacritty, Zed | 한 번 `/terminal-setup` 실행 |32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | 한 번 `/terminal-setup` 실행 |
32| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |33| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |
33 34
34VS Code, Cursor, Devin Desktop, Alacritty 및 Zed의 경우 `/terminal-setup`은 Shift+Enter 및 기타 키 바인딩을 터미널의 구성 파일에 씁니다. 기존 바인딩은 그대로 유지됩니다. `VSCode terminal Shift+Enter key binding already configured`와 같은 메시지가 표시되면 변경이 이루어지지 않았습니다. `/terminal-setup`을 tmux 또는 screen 내부가 아닌 호스트 터미널에서 직접 실행하세요. 호스트 터미널의 구성에 써야 하기 때문입니다.35VS Code, Cursor, Devin Desktop, Alacritty 및 Zed의 경우, `/terminal-setup`은 Shift+Enter 키 바인딩을 터미널의 구성 파일에 작성합니다. 첫 번째 실행 시 `Installed VSCode terminal Shift+Enter key binding`과 같은 확인 메시지가 표시됩니다. 기존 바인딩은 그대로 유지되며, `VSCode terminal Shift+Enter key binding already configured`와 같은 메시지가 표시되면 변경이 없었던 것입니다. tmux 또는 screen 내부가 아닌 호스트 터미널에서 직접 `/terminal-setup`을 실행하십시오. 호스트 터미널의 구성에 작성해야 하기 때문입니다.
35 36
36VS Code, Cursor 및 Devin Desktop에서 `/terminal-setup`은 또한 두 가지 편집기 설정을 업데이트합니다. 통합 터미널에서 텍스트가 깨지는 것을 방지하기 위해 `terminal.integrated.gpuAcceleration`을 `"off"`로 설정하고, [전체 화면 모드](/ko/fullscreen)에서 더 부드러운 스크롤링을 위해 `terminal.integrated.mouseWheelScrollSensitivity`를 설정합니다. GPU 가속 변경을 취소하려면 `"auto"`로 다시 설정하고 편집기 창을 다시 로드하세요.37VS Code, Cursor 및 Devin Desktop에서 `/terminal-setup`은 또한 두 가지 편집기 설정을 업데이트합니다: 통합 터미널의 텍스트 손상을 방지하기 위해 `terminal.integrated.gpuAcceleration`을 `"off"`로 설정하고, [전체 화면 모드](/docs/ko/fullscreen)에서 더 부드러운 스크롤링을 위해 `terminal.integrated.mouseWheelScrollSensitivity`를 설정합니다. GPU 가속 변경을 취소하려면 `"auto"`로 다시 설정하고 편집기 창을 다시 로드하십시오.
37 38
38tmux 내에서 실행 중인 경우 외부 터미널이 지원하더라도 Shift+Enter는 아래의 [tmux 구성](#configure-tmux)도 필요합니다.39Zed에서 `/terminal-setup`은 `keymap.json`을 제자리에서 업데이트합니다:
39 40
40줄 바꿈을 다른 키에 바인딩하거나 Enter가 줄 바꿈을 삽입하고 Shift+Enter가 제출하도록 동작을 바꾸려면 [키 바인딩 파일](/ko/keybindings)에서 `chat:newline` 및 `chat:submit` 작업을 매핑하세요.41* 키맵에 이미 바인딩이 있고 그 중 어느 것도 Terminal `shift-enter`가 아닌 경우, Claude Code는 먼저 `keymap.json.1a2b3c4d.bak`과 같은 같은 디렉토리의 복사본으로 백업한 다음 Shift+Enter 바인딩을 키맵에 병합하여 다른 키 바인딩과 주석을 유지합니다.
42* Claude Code가 키맵을 읽거나 구문 분석할 수 없거나, 백업할 수 없거나, 병합된 결과를 확인할 수 없는 경우, [파일을 변경하지 않은 상태로 두고 직접 추가할 키 바인딩 블록을 인쇄합니다](/docs/ko/errors#terminal-setup-left-your-zed-keymap-unchanged).
43
44tmux 내부에서 실행 중인 경우, 외부 터미널이 지원하더라도 Shift+Enter는 [아래의 tmux 구성](#configure-tmux)이 필요합니다.
45
46줄바꿈을 다른 키에 바인딩하거나 Enter가 줄바꿈을 삽입하고 Shift+Enter가 전송하도록 동작을 바꾸려면, [키 바인딩 파일](/docs/ko/keybindings)에서 `chat:newline` 및 `chat:submit` 작업을 매핑하십시오.
41 47
42<h2 id="enable-option-key-shortcuts-on-macos">48<h2 id="enable-option-key-shortcuts-on-macos">
43 macOS에서 Option 키 단축키 활성화49 macOS에서 Option 키 단축키 활성화
44</h2>50</h2>
45 51
46일부 Claude Code 단축키는 Option 키를 사용합니다. 예를 들어 줄 바꿈을 위한 Option+Enter 또는 모델을 전환하기 위한 Option+P입니다. macOS에서 대부분의 터미널은 기본적으로 Option을 수정자로 보내지 않으므로 이를 활성화할 때까지 이러한 단축키는 작동하지 않습니다. 터미널 설정은 일반적으로 "Option을 Meta 키로 사용"으로 표시됩니다. Meta는 현재 Option 또는 Alt로 표시된 키의 역사적 Unix 이름입니다.52Claude Code의 일부 단축키는 Option 키를 사용합니다. 예를 들어 Option+Enter는 새 줄을 입력하고 Option+P는 모델을 전환합니다. macOS에서는 대부분의 터미널이 기본적으로 Option을 수정자로 전송하지 않으므로 이를 활성화할 때까지 이러한 단축키는 작동하지 않습니다. 터미널 설정은 일반적으로 "Use Option as Meta Key"로 표시됩니다. Meta는 현재 Option 또는 Alt로 표시된 키의 역사적 Unix 이름입니다.
47 53
48<Tabs>54<Tabs>
49 <Tab title="Apple Terminal">55 <Tab title="Apple Terminal">
50 설정 → 프로필 → 키보드를 열고 "Option을 Meta 키로 사용"을 확인하세요.56 설정 → 프로필 → 키보드를 열고 "Use Option as Meta Key"를 선택합니다.
57
58 Claude Code의 첫 실행 터미널 설정 프롬프트를 수락한 경우 이미 완료되었습니다. 해당 프롬프트는 `/terminal-setup`을 실행하여 Option을 Meta로 활성화하고 Apple Terminal 프로필에서 청각 벨을 끕니다.
51 59
52 Claude Code의 첫 실행 프롬프트에서 "줄 바꿈 및 시각적 벨을 위한 Option+Enter"를 제공하는 것을 수락했다면 이미 완료되었습니다. 해당 프롬프트는 `/terminal-setup`을 실행하여 Option을 Meta로 활성화하고 Apple Terminal 프로필에서 오디오 벨을 시각적 화면 깜박임으로 전환합니다.60 [화면 읽기 모드](/docs/ko/accessibility)에서 `/terminal-setup`은 벨 설정을 변경하지 않으므로 터미널 벨이 계속 들립니다. v2.1.211 이전에는 `/terminal-setup`이 화면 읽기 모드에서도 벨을 껐습니다. 이전 실행에서 벨을 껐다면 설정 → 프로필 → 고급 → "청각 벨"에서 다시 켭니다.
53 </Tab>61 </Tab>
54 62
55 <Tab title="iTerm2">63 <Tab title="iTerm2">
56 설정 → 프로필 → 키 → 일반을 열고 왼쪽 Option 키와 오른쪽 Option 키를 "Esc+"로 설정하세요.64 설정 → 프로필 → 키 → 일반을 열고 왼쪽 Option 키와 오른쪽 Option 키를 "Esc+"로 설정합니다.
57 65
58 iTerm2에서 `/terminal-setup`을 실행하면 설정 → 일반 → 선택 아래에서 "터미널의 애플리케이션이 클립보드에 액세스할 수 있음"을 활성화하여 `/copy` 명령이 시스템 클립보드에 쓸 수 있도록 합니다. 이 명령은 tmux 내부에서 실행되는 경우에도 iTerm2를 감지합니다. 변경 사항을 적용하려면 iTerm2를 다시 시작하세요.66 iTerm2에서 `/terminal-setup`을 실행하면 설정 → 일반 → 선택 아래에서 "터미널의 응용 프로그램이 클립보드에 액세스할 수 있음"을 활성화하여 `/copy` 명령이 시스템 클립보드에 쓸 수 있습니다. 이 명령은 tmux 내부에서 실행되는 경우에도 iTerm2를 감지합니다. 변경 사항을 적용하려면 iTerm2를 다시 시작합니다.
59 </Tab>67 </Tab>
60 68
61 <Tab title="VS Code">69 <Tab title="VS Code">
62 VS Code 설정에 `"terminal.integrated.macOptionIsMeta": true`를 추가하세요.70 VS Code 설정에 `"terminal.integrated.macOptionIsMeta": true`를 추가합니다.
63 </Tab>71 </Tab>
64</Tabs>72</Tabs>
65 73
66Ghostty, Kitty 및 기타 터미널의 경우 터미널의 구성 파일에서 Option-as-Alt 또는 Option-as-Meta 설정을 찾으세요.74Ghostty, Kitty 및 기타 터미널의 경우 터미널의 구성 파일에서 Option-as-Alt 또는 Option-as-Meta 설정을 찾습니다.
67 75
68<h2 id="get-a-terminal-bell-or-notification">76<h2 id="get-a-terminal-bell-or-notification">
69 터미널 벨 또는 알림 받기77 터미널 벨 또는 알림 받기
70</h2>78</h2>
71 79
72Claude가 작업을 완료하거나 권한 프롬프트를 위해 일시 중지하면 알림 이벤트를 발생시킵니다. 이를 터미널 벨 또는 데스크톱 알림으로 표시하면 긴 작업이 실행되는 동안 다른 작업으로 전환할 수 있습니다.80Claude가 작업을 완료하거나 권한 프롬프트에서 일시 중지되었을 때, 사용자가 터미널에서 자리를 비운 것으로 보이면 알림 이벤트가 발생합니다. 각 알림 유형이 발생하는 정확한 시점은 [알림 유형별 발생 시점](/docs/ko/hooks#notification)을 참조하세요. 이를 터미널 벨 또는 데스크톱 알림으로 표시하면 긴 작업이 실행되는 동안 다른 작업으로 전환할 수 있습니다.
73 81
74기본적으로 Claude Code는 Ghostty, Kitty 및 iTerm2에서만 데스크톱 알림을 보냅니다. 다른 터미널에서는 [`preferredNotifChannel`](/ko/settings#available-settings)을 `"terminal_bell"`로 설정하여 대신 터미널 벨을 울리거나, 사용자 정의 소리나 명령을 위해 [알림 훅](#play-a-sound-with-a-notification-hook)을 구성하세요.82기본적으로 Claude Code는 Ghostty, Kitty, iTerm2에서만 데스크톱 알림을 전송합니다. 다른 터미널에서는 [`preferredNotifChannel`](/docs/ko/settings-reference#preferrednotifchannel)을 `"terminal_bell"`로 설정하여 터미널 벨을 울리거나, 사용자 정의 소리나 명령을 위해 [Notification 훅](#play-a-sound-with-a-notification-hook)을 구성하세요. 다음 설정 항목은 터미널 벨을 켭니다:
83
84```json ~/.claude/settings.json theme={null}
85{
86 "preferredNotifChannel": "terminal_bell"
87}
88```
75 89
76데스크톱 알림은 SSH를 통해 로컬 머신에 도달하므로 원격 세션도 여전히 알림을 받을 수 있습니다. Ghostty와 Kitty는 추가 설정 없이 OS 알림 센터로 전달합니다. iTerm2는 전달을 활성화해야 합니다:90데스크톱 알림은 SSH를 통해 로컬 머신에 도달하므로 원격 세션도 사용자에게 알릴 수 있습니다. Ghostty와 Kitty는 추가 설정 없이 OS 알림 센터로 전달합니다. iTerm2는 전달을 활성화해야 합니다:
77 91
78<Steps>92<Steps>
79 <Step title="iTerm2 알림 설정 열기">93 <Step title="iTerm2 알림 설정 열기">
80 설정 → 프로필 → 터미널로 이동하세요.94 설정 → 프로필 → 터미널로 이동합니다.
81 </Step>95 </Step>
82 96
83 <Step title="알림 활성화">97 <Step title="알림 활성화">
84 "Notification Center Alerts"를 확인한 후 "Filter Alerts"를 클릭하고 "Send escape sequence-generated alerts"를 활성화하세요.98 "Notification Center Alerts"를 확인한 다음 "Filter Alerts"를 클릭하고 "Send escape sequence-generated alerts"를 활성화합니다.
85 </Step>99 </Step>
86</Steps>100</Steps>
87 101
88알림이 여전히 나타나지 않으면 터미널 애플리케이션이 OS 설정에서 알림 권한을 가지고 있는지 확인하고, tmux 내에서 실행 중인 경우 [통과를 활성화](#configure-tmux)하세요.102알림이 여전히 나타나지 않으면 터미널 애플리케이션이 OS 설정에서 알림 권한을 가지고 있는지 확인하고, tmux 내에서 실행 중인 경우 [passthrough를 활성화](#configure-tmux)하세요.
89 103
90<h3 id="play-a-sound-with-a-notification-hook">104<h3 id="play-a-sound-with-a-notification-hook">
91 알림 훅으로 소리 재생105 Notification 훅으로 소리 재생하기
92</h3>106</h3>
93 107
94모든 터미널에서 Claude가 주의가 필요할 때 소리를 재생하거나 사용자 정의 명령을 실행하는 [알림 훅](/ko/hooks-guide#get-notified-when-claude-needs-input)을 구성할 수 있습니다. 훅은 기본 제공 알림과 함께 실행되며 이를 대체하지 않으므로, Warp 또는 VS Code 통합 터미널과 같이 데스크톱 알림을 받지 않는 터미널은 훅을 사용하거나 `preferredNotifChannel`을 `"terminal_bell"`로 설정할 수 있습니다.108모든 터미널에서 [Notification 훅](/docs/ko/hooks-guide#get-notified-when-claude-needs-input)을 구성하여 Claude가 사용자의 주의가 필요할 때 소리를 재생하거나 사용자 정의 명령을 실행할 수 있습니다. 훅은 기본 제공 알림과 함께 실행되며 이를 대체하지 않으므로, Warp 또는 VS Code 통합 터미널과 같이 데스크톱 알림을 받지 않는 터미널은 훅을 사용하거나 `preferredNotifChannel`을 `"terminal_bell"`로 설정할 수 있습니다.
95 109
96아래 예제는 macOS에서 시스템 소리를 재생합니다. 연결된 가이드에는 macOS, Linux 및 Windows용 데스크톱 알림 명령이 있습니다.110아래 예제는 macOS에서 시스템 소리를 재생합니다. 연결된 가이드에는 macOS, Linux, Windows용 데스크톱 알림 명령이 있습니다.
97 111
98```json ~/.claude/settings.json theme={null}112```json ~/.claude/settings.json theme={null}
99{113{
111 tmux 구성125 tmux 구성
112</h2>126</h2>
113 127
114Claude Code가 tmux 내에서 실행될 때 기본적으로 두 가지가 손상됩니다: Shift+Enter가 줄 바꿈을 삽입하는 대신 제출하고, 데스크톱 알림 및 [진행률 표시줄](/ko/settings#available-settings)이 외부 터미널에 도달하지 않습니다. `~/.tmux.conf`에 이 줄을 추가한 후 `tmux source-file ~/.tmux.conf`를 실행하여 실행 중인 서버에 적용하세요:128Claude Code가 tmux 내에서 실행될 때, 기본적으로 두 가지 문제가 발생합니다. Shift+Enter가 새 줄을 삽입하는 대신 제출하고, 데스크톱 알림과 [진행률 표시줄](/docs/ko/settings-reference#terminalprogressbarenabled)이 외부 터미널에 도달하지 않습니다. `~/.tmux.conf`에 다음 줄을 추가한 후 `tmux source-file ~/.tmux.conf`를 실행하여 실행 중인 서버에 적용합니다:
115 129
116```bash ~/.tmux.conf theme={null}130```bash ~/.tmux.conf theme={null}
117set -g allow-passthrough on131set -g allow-passthrough on
119set -as terminal-features 'xterm*:extkeys'133set -as terminal-features 'xterm*:extkeys'
120```134```
121 135
122`allow-passthrough` 줄은 알림 및 진행률 업데이트가 tmux에 의해 삼켜지는 대신 외부 터미널에 도달하도록 합니다. `extended-keys` 줄은 tmux가 Shift+Enter를 일반 Enter와 구별하도록 하여 줄 바꿈 단축키가 작동하도록 합니다.136`allow-passthrough` 줄은 알림과 진행 상황 업데이트가 tmux에 의해 삼켜지는 대신 외부 터미널에 도달하도록 합니다. `extended-keys` 줄은 tmux가 Shift+Enter를 일반 Enter와 구별하여 새 줄 단축키가 작동하도록 합니다.
137
138<h2 id="fix-backspace-deleting-a-whole-word-on-windows">
139 Windows에서 Backspace가 전체 단어를 삭제하는 문제 해결
140</h2>
141
142Windows에서 Claude Code는 `^H`로 도착하는 Backspace를 Ctrl+Backspace로 읽으며, 이는 [이전 단어를 삭제합니다](/docs/ko/interactive-mode#text-editing). 단, `TERM_PROGRAM`이 `mintty`이거나 `TERM`이 `cygwin`인 경우는 예외입니다. macOS와 Linux에서 Claude Code는 이를 일반 Backspace로 읽습니다.
143
144Backspace를 누를 때마다 전체 단어가 삭제되면, 터미널이 일반 Backspace에 대해 `^H`를 전송하는 것입니다. [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](/docs/ko/env-vars)을 설정하세요. 그러면 Backspace와 Ctrl+H가 각각 한 문자씩 삭제합니다. macOS 또는 Linux에서 터미널이 Ctrl+Backspace에 대해 `^H`를 전송하기 때문에 Ctrl+Backspace가 한 문자만 삭제하는 경우, 대신 변수를 `1`로 설정하세요.
123 145
124<h2 id="match-the-color-theme">146<h2 id="match-the-color-theme">
125 색상 테마 일치147 색상 테마 일치시키기
126</h2>148</h2>
127 149
128`/theme` 명령을 사용하거나 `/config`의 테마 선택기를 사용하여 터미널과 일치하는 Claude Code 테마를 선택합니다. 자동 옵션을 선택하면 터미널의 밝은 또는 어두운 배경을 감지하므로 테마는 터미널이 할 때마다 OS 모양 변경을 따릅니다. Claude Code는 터미널 애플리케이션에서 설정하는 터미널의 자체 색상 구성표를 제어하지 않습니다.150`/theme` 명령을 사용하거나 `/config`의 테마 선택기를 사용하여 터미널과 일치하는 Claude Code 테마를 선택합니다. 자동 옵션을 선택하면 터미널의 밝은 배경 또는 어두운 배경을 감지하므로 테마가 터미널이 변경될 때마다 OS 모양 변경을 따릅니다. Claude Code는 터미널 애플리케이션에서 설정하는 터미널 자체의 색상 구성표를 제어하지 않습니다.
129 151
130인터페이스 하단에 표시되는 내용을 사용자 정의하려면 현재 모델, 작업 디렉토리, git 분기 또는 기타 컨텍스트를 표시하는 [사용자 정의 상태 줄](/ko/statusline)을 구성합니다.152인터페이스 하단에 표시되는 내용을 사용자 정의하려면 현재 모델, 작업 디렉토리, git 분기 또는 기타 컨텍스트를 표시하는 [사용자 정의 상태 줄](/docs/ko/statusline)을 구성합니다.
131 153
132<h3 id="create-a-custom-theme">154<h3 id="create-a-custom-theme">
133 사용자 정의 테마 만들기155 사용자 정의 테마 만들기
134</h3>156</h3>
135 157
136<Note>158기본 제공 사전 설정 외에도 `/theme`은 정의한 사용자 정의 테마와 설치된 [플러그인](/docs/ko/plugins-reference#themes)에서 제공한 테마를 나열합니다. 목록 끝에서 \*\*새 사용자 정의 테마…\*\*를 선택하여 대화형으로 만듭니다. 테마 이름을 지정한 다음 개별 색상 토큰을 선택하여 재정의합니다. 사용자 정의 테마가 강조 표시된 상태에서 `Ctrl+E`를 눌러 편집합니다.
137 사용자 정의 테마는 Claude Code v2.1.118 이상이 필요합니다.
138</Note>
139
140기본 제공 사전 설정 외에도 `/theme`는 정의한 모든 사용자 정의 테마와 설치된 [플러그인](/ko/plugins-reference#themes)에서 제공한 모든 테마를 나열합니다. 목록 끝에서 \*\*새 사용자 정의 테마…\*\*를 선택하여 대화형으로 만들 수 있습니다. 테마 이름을 지정한 다음 개별 색상 토큰을 선택하여 재정의합니다. 사용자 정의 테마가 강조 표시되어 있는 동안 `Ctrl+E`를 눌러 편집합니다.
141 159
142각 사용자 정의 테마는 `~/.claude/themes/`의 JSON 파일입니다. `.json` 확장자를 제외한 파일 이름이 테마의 슬러그이며, 테마를 선택하면 `custom:<slug>`이 테마 기본 설정으로 저장됩니다. 파일에는 세 가지 선택적 필드가 있습니다.160각 사용자 정의 테마는 `~/.claude/themes/`의 JSON 파일입니다. `.json` 확장자를 제외한 파일 이름이 테마의 슬러그이며, 테마를 선택하면 `custom:<slug>`이 테마 기본 설정으로 저장됩니다. 파일에는 세 가지 선택적 필드가 있습니다.
143 161
144| 필드 | 유형 | 설명 |162| 필드 | 유형 | 설명 |
145| :---------- | :----- | :------------------------------------------------------------------------------------------------------------------------------- |163| :---------- | :----- | :------------------------------------------------------------------------------------------------------------------------- |
146| `name` | string | `/theme`에 표시되는 표시 레이블입니다. 파일 이름 슬러그로 기본 설정됩니다. |164| `name` | string | `/theme`에 표시되는 표시 레이블입니다. 파일 이름 슬러그로 기본 설정됩니다 |
147| `base` | string | 테마가 시작되는 기본 제공 사전 설정입니다: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, 또는 `light-ansi`. `dark`로 기본 설정됩니다. |165| `base` | string | 테마가 시작되는 기본 제공 사전 설정: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, 또는 `light-ansi`. 기본값은 `dark`입니다 |
148| `overrides` | object | 색상 토큰 이름을 색상 값으로 매핑합니다. 여기에 나열되지 않은 토큰은 기본 사전 설정으로 통과합니다. |166| `overrides` | object | 색상 토큰 이름을 색상 값으로 매핑합니다. 여기에 나열되지 않은 토큰은 기본 사전 설정으로 통과됩니다 |
149 167
150색상 값은 `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, 또는 `ansi:<name>`을 허용합니다. 여기서 `<name>`은 `red` 또는 `cyanBright`와 같은 16가지 표준 ANSI 색상 이름 중 하나입니다. 알 수 없는 토큰과 잘못된 색상 값은 무시되므로 오타가 렌더링을 손상시킬 수 없습니다.168색상 값은 `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, 또는 `ansi:<name>`을 허용합니다. 여기서 `<name>`은 `red` 또는 `cyanBright`와 같은 16개의 표준 ANSI 색상 이름 중 하나입니다. 알 수 없는 토큰과 잘못된 색상 값은 무시되므로 오타가 렌더링을 손상시킬 수 없습니다.
151 169
152다음 예제는 어두운 사전 설정을 유지하지만 프롬프트 악센트, 오류 텍스트 및 성공 텍스트를 다시 칠하는 테마를 정의합니다.170다음 예제는 어두운 사전 설정을 유지하지만 프롬프트 악센트, 오류 텍스트 및 성공 텍스트를 다시 칠하는 테마를 정의합니다.
153 171
163}181}
164```182```
165 183
166Claude Code는 `~/.claude/themes/`를 감시하고 파일이 변경되면 다시 로드하므로 편집기에서 만든 편집 사항이 다시 시작하지 않고도 실행 중인 세션에 적용됩니다.184Claude Code는 `~/.claude/themes/`를 감시하고 파일이 추가되거나 변경될 때 다시 로드하므로 편집기에서 만든 편집 내용이 다시 시작하지 않고 실행 중인 세션에 적용됩니다. Claude Code가 시작될 때 `~/.claude/themes/` 폴더 자체가 없었다면 첫 번째 테마 파일을 만든 후 한 번 다시 시작합니다. 그 후에는 다시 시작하지 않고 변경 사항이 적용됩니다.
167 185
168아래는 `overrides`에서 설정할 수 있는 토큰을 다룹니다. `/theme`의 대화형 편집기는 여기에서 다루지 않은 몇 가지 단일 목적 악센트(예: 온보딩 화면 색상)를 포함한 라이브 미리보기와 함께 동일한 토큰을 표시합니다.186아래 참조는 `overrides`에서 설정할 수 있는 토큰을 다룹니다. `/theme`의 대화형 편집기는 라이브 미리 보기와 함께 동일한 토큰을 표시하며, 여기서 생략된 온보딩 화면 색상과 같은 몇 가지 단일 목적 악센트도 표시합니다.
169 187
170<Accordion title="색상 토큰 참조">188<Accordion title="색상 토큰 참조">
171 다음 예제는 여러 그룹의 토큰을 결합합니다: 브랜드 악센트, 계획 모드 테두리, diff 배경 및 전체 화면 메시지 배경입니다.189 다음 예제는 여러 그룹의 토큰을 결합합니다. 브랜드 악센트, 계획 모드 테두리, diff 배경 및 메시지 배경입니다.
172 190
173 ```json ~/.claude/themes/midnight.json theme={null}191 ```json ~/.claude/themes/midnight.json theme={null}
174 {192 {
209 227
210 | 토큰 | 제어 대상 |228 | 토큰 | 제어 대상 |
211 | :-------- | :--------------------- |229 | :-------- | :--------------------- |
212 | `success` | 성공 메시지 및 통과한 검사 |230 | `success` | 성공 메시지 및 통과 확인 |
213 | `error` | 오류 메시지 및 실패 |231 | `error` | 오류 메시지 및 실패 |
214 | `warning` | 경고, 주의 메시지 및 자동 모드 테두리 |232 | `warning` | 경고, 주의 메시지 및 자동 모드 테두리 |
215 | `merged` | 병합된 풀 요청 상태 |233 | `merged` | 병합된 풀 요청 상태 |
218 입력 상자 및 모드 표시기236 입력 상자 및 모드 표시기
219 </h4>237 </h4>
220 238
221 입력 상자 테두리 색상과 권한 모드 또는 표시기가 활성화되어 있는 동안 표시되는 악센트를 설정합니다.239 입력 상자 테두리 색상과 권한 모드 또는 표시기가 활성화된 동안 표시되는 악센트를 설정합니다.
222 240
223 | 토큰 | 제어 대상 |241 | 토큰 | 제어 대상 |
224 | :------------- | :------------------------ |242 | :------------- | :----------------------------------------------------------------------------------------------------------------------------------- |
225 | `promptBorder` | 기본 권한 모드의 입력 상자 테두리 |243 | `promptBorder` | 수동 모드의 입력 상자 테두리 |
226 | `planMode` | 계획 모드 악센트 및 테두리 |244 | `planMode` | 계획 모드 악센트 및 테두리 |
227 | `autoAccept` | 수락-편집 모드 악센트 및 테두리 |245 | `autoAccept` | 편집 수락 모드 악센트 및 테두리 |
228 | `bashBorder` | `!` 셸 명령을 입력할 때 입력 상자 테두리 |246 | `bashBorder` | `!` 셸 명령을 입력할 때 입력 상자 테두리 |
229 | `ide` | IDE 연결 표시기 |247 | `ide` | IDE 연결 표시기 |
230 | `fastMode` | 빠른 모드 표시기 |248 | `fastMode` | 빠른 모드 표시기 |
249 | `effortUltra` | [ultracode](/docs/ko/model-config#adjust-effort-level)가 켜져 있는 동안 입력 상자 테두리의 `ultracode` 태그입니다. 이 색상의 재정의는 Claude Code v2.1.239 이상에서 적용됩니다 |
231 250
232 <h4 id="diff-rendering">251 <h4 id="diff-rendering">
233 Diff 렌더링252 Diff 렌더링
234 </h4>253 </h4>
235 254
236 파일 편집 및 검토에서 추가되고 제거된 코드를 색칠합니다.255 파일 편집 및 검토에서 추가되고 제거된 코드를 칠합니다.
237 256
238 | 토큰 | 제어 대상 |257 | 토큰 | 제어 대상 |
239 | :------------------ | :------------------------ |258 | :------------------ | :------------------------------- |
240 | `diffAdded` | 추가된 줄의 배경 |259 | `diffAdded` | 추가된 줄의 배경 |
241 | `diffRemoved` | 제거된 줄의 배경 |260 | `diffRemoved` | 제거된 줄의 배경 |
242 | `diffAddedDimmed` | 추가된 줄 근처의 변경되지 않은 컨텍스트 배경 |261 | `diffAddedDimmed` | 편집을 거부한 후 표시되는 흐린 diff의 추가된 줄 배경 |
243 | `diffRemovedDimmed` | 제거된 줄 근처의 변경되지 않은 컨텍스트 배경 |262 | `diffRemovedDimmed` | 편집을 거부한 후 표시되는 흐린 diff의 제거된 줄 배경 |
244 | `diffAddedWord` | 추가된 줄 내의 단어 수준 강조 |263 | `diffAddedWord` | 추가된 줄 내의 단어 수준 강조 |
245 | `diffRemovedWord` | 제거된 줄 내의 단어 수준 강조 |264 | `diffRemovedWord` | 제거된 줄 내의 단어 수준 강조 |
246 265
248 전체 화면 모드267 전체 화면 모드
249 </h4>268 </h4>
250 269
251 메시지가 배경 채우기를 갖는 [전체 화면 렌더링 모드](/ko/fullscreen)에서만 적용됩니다.270 Claude Code는 기본 및 전체 화면 렌더러 모두에서 `userMessageBackground`, `bashMessageBackgroundColor` 및 `memoryBackgroundColor`를 칠합니다. [전체 화면 렌더링 모드](/docs/ko/fullscreen)에서만 `userMessageBackgroundHover` 및 `selectionBg`를 사용합니다.
252 271
253 | 토큰 | 제어 대상 |272 | 토큰 | 제어 대상 |
254 | :--------------------------- | :---------------------------- |273 | :--------------------------- | :----------------------- |
255 | `userMessageBackground` | 트랜스크립트의 메시지 뒤의 배경 |274 | `userMessageBackground` | 트랜스크립트의 메시지 뒤 배경 |
256 | `userMessageBackgroundHover` | 마우스를 올리거나 확장할 때 메시지 뒤의 배경 |275 | `userMessageBackgroundHover` | 마우스를 가져가거나 확장된 메시지 뒤 배경 |
257 | `messageActionsBackground` | 작업 표시줄이 열려 있을 때 선택된 메시지 뒤의 배경 |276 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤 배경 |
258 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤의 배경 |277 | `memoryBackgroundColor` | 트랜스크립트의 `#` 메모리 항목 뒤 배경 |
259 | `memoryBackgroundColor` | 트랜스크립트의 `#` 메모리 항목 뒤의 배경 |
260 | `selectionBg` | 마우스로 선택한 텍스트의 배경 |278 | `selectionBg` | 마우스로 선택한 텍스트의 배경 |
261 279
262 <h4 id="usage-meter-and-speaker-labels">280 <h4 id="usage-meter-and-speaker-labels">
276 반짝임 변형 및 서브에이전트 색상294 반짝임 변형 및 서브에이전트 색상
277 </h4>295 </h4>
278 296
279 여러 토큰에는 쌍을 이루는 반짝임 변형이 있으며, 이는 스피너의 애니메이션 그래디언트에서 사용되는 더 밝은 색상을 제공합니다. 애니메이션이 일치하지 않는 것처럼 보이면 기본 토큰과 함께 반짝임을 재정의합니다.297 여러 토큰에는 스피너의 애니메이션 그래디언트에서 사용되는 더 밝은 색상을 제공하는 쌍을 이루는 반짝임 변형이 있습니다. 애니메이션이 일치하지 않는 것처럼 보이면 기본 토큰과 함께 반짝임을 재정의합니다.
280 298
281 * `claude` 및 `claudeShimmer`299 * `claude` 및 `claudeShimmer`
282 * `warning` 및 `warningShimmer`300 * `warning` 및 `warningShimmer`
285 * `inactive` 및 `inactiveShimmer`303 * `inactive` 및 `inactiveShimmer`
286 * `fastMode` 및 `fastModeShimmer`304 * `fastMode` 및 `fastModeShimmer`
287 305
288 각 [서브에이전트](/ko/sub-agents) 및 병렬 작업은 8개의 명명된 색상 중 하나로 표시되므로 트랜스크립트에서 구별할 수 있습니다. 토큰 이름은 `<color>_FOR_SUBAGENTS_ONLY` 패턴을 따릅니다. 여기서 `<color>`는 `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` 또는 `cyan`입니다. 이를 재정의하여 각 명명된 색상의 모양을 변경합니다. 예를 들어, 정의에서 `color: blue`를 가진 서브에이전트는 `blue_FOR_SUBAGENTS_ONLY` 값을 사용하여 그려집니다.306 각 [서브에이전트](/docs/ko/sub-agents) 및 병렬 작업은 8개의 명명된 색상 중 하나로 표시되므로 트랜스크립트에서 구별할 수 있습니다. 토큰 이름은 `<color>_FOR_SUBAGENTS_ONLY` 패턴을 따릅니다. 여기서 `<color>`는 `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` 또는 `cyan`입니다. 이를 재정의하여 각 명명된 색상의 모양을 변경합니다. 예를 들어, 정의에서 `color: blue`를 가진 서브에이전트는 `blue_FOR_SUBAGENTS_ONLY` 값을 사용하여 그려집니다.
289 307
290 [`ultrathink`](/ko/model-config#use-ultrathink-for-one-off-deep-reasoning) 및 [`ultraplan`](/ko/ultraplan) 키워드는 프롬프트 입력에서 7색 무지개 그래디언트로 렌더링됩니다. 토큰 이름은 `rainbow_<color>` 및 `rainbow_<color>_shimmer` 패턴을 따릅니다. 여기서 `<color>`는 `red`, `orange`, `yellow`, `green`, `blue`, `indigo` 또는 `violet`입니다.308 Claude Code는 프롬프트 입력에서 [`ultrathink`](/docs/ko/model-config#use-ultrathink-for-one-off-deep-reasoning) 키워드를 7색 무지개 그래디언트로 렌더링합니다. 토큰 이름은 `rainbow_<color>` 및 `rainbow_<color>_shimmer` 패턴을 따릅니다. 여기서 `<color>`는 `red`, `orange`, `yellow`, `green`, `blue`, `indigo` 또는 `violet`입니다.
291</Accordion>309</Accordion>
292 310
293<h2 id="switch-to-fullscreen-rendering">311<h2 id="switch-to-fullscreen-rendering">
294 전체 화면 렌더링으로 전환312 전체 화면 렌더링으로 전환
295</h2>313</h2>
296 314
297디스플레이가 깜박이거나 Claude가 작업 중일 때 스크롤 위치가 점프하면 [전체 화면 렌더링 모드](/ko/fullscreen)로 전환하세요. 터미널이 일반 스크롤백에 추가하는 대신 전체 화면 앱용으로 예약한 별도의 화면에 그려서 메모리 사용량을 평탄하게 유지하고 스크롤 및 선택을 위한 마우스 지원을 추가합니다. 이 모드에서는 터미널의 기본 스크롤백이 아닌 마우스 또는 PageUp으로 Claude Code 내에서 스크롤합니다. 검색 및 복사 방법은 [전체 화면 페이지](/ko/fullscreen#search-and-review-the-conversation)를 참조하세요.315[화면 읽기 모드](/docs/ko/accessibility)에서는 이 섹션이 적용되지 않습니다. Claude Code는 연결된 [백그라운드 세션](/docs/ko/agent-view)을 제외하고는 항상 일반 스크롤 텍스트로 렌더링되며, 다른 세션에서 `/tui fullscreen`을 실행하면 Claude Code는 전환하는 대신 설명을 출력합니다.
316
317Claude가 작업 중일 때 디스플레이가 깜박이거나 스크롤 위치가 점프하면 [전체 화면 렌더링 모드](/docs/ko/fullscreen)로 전환하세요. 이 모드에서는 터미널의 기본 스크롤백이 아닌 마우스나 PageUp으로 Claude Code 내에서 스크롤합니다. 검색 및 복사 방법은 [전체 화면 페이지](/docs/ko/fullscreen#search-and-review-the-conversation)를 참조하세요.
318
319깜박임이 유일한 문제이고 터미널이 동기화된 출력을 지원하지만 Emacs `eat`과 같이 자동 감지되지 않는 경우, [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/docs/ko/env-vars)을 설정하여 렌더러를 변경하지 않고 깜박임을 중지할 수 있습니다.
298 320
299`/tui fullscreen`을 실행하여 전환하고 기본값을 저장하세요. 대화가 그대로 다시 시작되며 향후 세션은 전체 화면에서 시작됩니다. Claude Code를 시작하기 전에 `CLAUDE_CODE_NO_FLICKER` 환경 변수를 설정할 수도 있습니다:321`/tui fullscreen`을 실행하여 전환하고 기본 설정을 저장하세요. 대화가 그대로 다시 시작되며 [전체 화면 시작이 실패](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)하지 않는 한 향후 세션은 전체 화면에서 시작됩니다. Claude Code를 시작하기 전에 `CLAUDE_CODE_NO_FLICKER` 환경 변수를 설정할 수도 있습니다.
300 322
301<CodeGroup>323<CodeGroup>
302 ```bash Bash and Zsh theme={null}324 ```bash Bash and Zsh theme={null}
317</CodeGroup>339</CodeGroup>
318 340
319<h2 id="paste-large-content">341<h2 id="paste-large-content">
320 큰 콘텐츠 붙여넣기342 대용량 콘텐츠 붙여넣기
321</h2>343</h2>
322 344
323프롬프트에 10,000자 이상을 붙여넣으면 Claude Code는 입력을 `[Pasted text]` 자리 표시자로 축소하여 입력 상자를 사용 가능하게 유지합니다. 전체 콘텐츠는 제출할 때 여전히 Claude에 전송됩니다.345프롬프트에 800자 이상 또는 3줄 이상의 텍스트를 붙여넣으면 Claude Code는 입력을 `[Pasted text #1 +120 lines]`과 같은 플레이스홀더로 축약하여 입력 상자를 사용 가능한 상태로 유지합니다. 터미널 창이 12줄보다 짧으면 줄 제한이 감소하므로 Claude Code는 11줄에서 3줄 붙여넣기를 축약하고 10줄 이하에서는 모든 여러 줄 붙여넣기를 축약합니다. Claude Code는 제출할 때 전체 콘텐츠를 여전히 전송합니다.
324 346
325VS Code 통합 터미널은 매우 큰 붙여넣기에서 Claude Code에 도달하기 전에 문자를 삭제할 수 있으므로 거기서 파일 기반 워크플로우를 선호하세요. 전체 파일 또는 긴 로그와 같은 매우 큰 입력의 경우 콘텐츠를 파일에 작성하고 붙여넣는 대신 Claude에 읽도록 요청하세요. 이렇게 하면 대화 기록을 읽을 수 있게 유지하고 Claude가 나중에 경로로 파일을 참조할 수 있습니다.347`Ctrl+W` 또는 `Ctrl+K`와 같은 단어 또는 줄 단축키로 삭제하거나, `df]`와 같은 `f`/`t` 모션을 통한 vim 삭제로 삭제하고, 삭제된 범위가 플레이스홀더 내부에 도달하면 Claude Code는 플레이스홀더 전체를 제거합니다. [`Ctrl+Y`](/docs/ko/interactive-mode#text-editing)를 단어 또는 줄 단축키 후에 사용하거나, vim 삭제 후 [`p` NORMAL 모드](/docs/ko/interactive-mode#editing-normal-mode)를 사용하여 삭제를 다시 붙여넣을 수 있습니다.
348
349Claude Code는 축약된 콘텐츠를 `~/.claude/paste-cache/` 아래에 유지하므로, [명령 기록](/docs/ko/interactive-mode#command-history)에서 프롬프트를 회수하고 다시 제출하면 Claude Code는 전체 붙여넣은 콘텐츠를 다시 전송합니다. 이는 나중 세션에서도 포함되며, 보존 스윕이 캐시 파일을 제거할 때까지 계속됩니다. Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 캐시 파일을 삭제하며, [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따르므로, 회수된 프롬프트는 더 이상 존재하지 않는 붙여넣은 텍스트를 참조할 수 있습니다. 이러한 프롬프트를 제출하면 Claude Code는 절대 리터럴 `[Pasted text #N]` 문자열을 전송하지 않으며, 누락된 붙여넣기의 이름을 지정하는 알림을 표시합니다:
350
351* 남은 텍스트가 있는 일반 프롬프트에서 Claude Code는 플레이스홀더를 제거하고 남은 텍스트를 전송합니다.
352* [셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix) 명령 또는 `/` 명령에서, 제거가 실행되는 내용을 변경할 수 있으며, 제거가 비어 있는 모든 프롬프트에서 Claude Code는 제출을 취소하고 원본 텍스트를 입력에 유지하며, 플레이스홀더는 여전히 포함됩니다. 플레이스홀더를 삭제하거나 명령을 편집한 후 다시 제출합니다.
353
354VS Code 통합 터미널은 매우 큰 붙여넣기에서 Claude Code에 도달하기 전에 문자를 삭제할 수 있으므로, 거기서는 파일 기반 워크플로우를 선호합니다. 전체 파일이나 긴 로그와 같은 매우 큰 입력의 경우, 콘텐츠를 파일에 작성하고 붙여넣기 대신 Claude에 파일을 읽도록 요청합니다. 이렇게 하면 대화 기록을 읽기 쉽게 유지하고 Claude가 나중 차례에서 경로로 파일을 참조할 수 있습니다.
326 355
327<h2 id="edit-prompts-with-vim-keybindings">356<h2 id="edit-prompts-with-vim-keybindings">
328 Vim 키 바인딩으로 프롬프트 편집357 Vim 키바인딩으로 프롬프트 편집하기
329</h2>358</h2>
330 359
331Claude Code는 프롬프트 입력을 위한 Vim 스타일 편집 모드를 포함합니다. `/config` → 편집기 모드를 통해 활성화하거나 [`editorMode`](/ko/settings#available-settings)를 `~/.claude/settings.json`에서 `"vim"`으로 설정하여 활성화하세요. 편집기 모드를 `normal`로 다시 설정하여 끄세요.360Claude Code는 프롬프트 입력을 위한 Vim 스타일 편집 모드를 포함합니다. `/config` → Editor mode를 통해 활성화하거나, `~/.claude/settings.json`에서 [`editorMode`](/docs/ko/settings-reference#editormode)를 `"vim"`으로 설정하여 활성화할 수 있습니다. Editor mode를 `normal`로 다시 설정하여 비활성화합니다.
361
362Vim 모드는 `hjkl` 네비게이션, `v`/`V` 선택, 텍스트 객체와 함께 `d`/`c`/`y` 같은 NORMAL 모드 및 VISUAL 모드 모션과 연산자의 부분 집합을 지원합니다. 전체 키 테이블은 [Vim 편집기 모드 참조](/docs/ko/interactive-mode#vim-editor-mode)를 참조하십시오.
332 363
333Vim 모드는 `hjkl` 네비게이션, `v`/`V` 선택, 텍스트 객체를 사용한 `d`/`c`/`y`와 같은 NORMAL 모드 및 VISUAL 모드 모션과 연산자의 부분 집합을 지원합니다. 전체 키 테이블은 [Vim 편집기 모드 참조](/ko/interactive-mode#vim-editor-mode)를 참조하세요. Vim 모션은 키 바인딩 파일을 통해 다시 매핑할 수 없습니다.364Vim 모션은 키바인딩 파일을 통해 재매핑할 수 없습니다. `jj`를 Escape로 매핑하는 것과 같은 두 개의 키 INSERT 모드 시퀀스를 매핑하려면, 사용자 설정에서 [`vimInsertModeRemaps`](/docs/ko/interactive-mode#remap-insert-mode-key-sequences)를 설정하십시오.
334 365
335INSERT 모드에서 Enter를 누르면 표준 Vim과 달리 프롬프트가 여전히 제출됩니다. 대신 NORMAL 모드에서 `o` 또는 `O`를 사용하거나 Ctrl+J를 사용하여 줄 바꿈을 삽입하세요.366INSERT 모드에서 Enter를 누르면 표준 Vim과 달리 프롬프트가 여전히 제출됩니다. 대신 NORMAL 모드에서 `o` 또는 `O`를 사용하거나 Ctrl+J를 사용하여 새 줄을 삽입하십시오.
336 367
337<h2 id="related-resources">368<h2 id="related-resources">
338 관련 리소스369 관련 리소스
339</h2>370</h2>
340 371
341* [대화형 모드](/ko/interactive-mode): 전체 키보드 단축키 참조 및 Vim 키 테이블372* [대화형 모드](/docs/ko/interactive-mode): 전체 키보드 단축키 참조 및 Vim 키 테이블
342* [키 바인딩](/ko/keybindings): Enter 및 Shift+Enter를 포함한 모든 Claude Code 단축키 다시 매핑373* [키 바인딩](/docs/ko/keybindings): Enter 및 Shift+Enter를 포함한 모든 Claude Code 단축키 다시 매핑
343* [전체 화면 렌더링](/ko/fullscreen): 전체 화면 모드에서 스크롤, 검색 및 복사에 대한 세부 정보374* [전체 화면 렌더링](/docs/ko/fullscreen): 전체 화면 모드에서 스크롤, 검색 및 복사에 대한 세부 정보
344* [훅 가이드](/ko/hooks-guide): Linux 및 Windows용 더 많은 알림 훅 예제375* [훅 가이드](/docs/ko/hooks-guide): Linux 및 Windows용 더 많은 알림 훅 예제
345* [문제 해결](/ko/troubleshooting): 터미널 구성 외부의 문제에 대한 수정 사항376* [문제 해결](/docs/ko/troubleshooting): 터미널 구성 외부의 문제에 대한 수정 사항