Claude Code 작업 중에 「이 파일 좀 보고 싶다·고치고 싶다」는 생각이 들면 어떻게 하시나요?

2026-04-14
17분 만에 읽기
업데이트: 2026-04-15
hf_20260415_032913_aa4e93c3-7aae-4434-bf2a-c38094cfbccb.webp

목차

Claude Code로 작업하다 보면, 「잠깐 이 파일의 내용을 확인하고 싶다」는 상황이 자주 발생합니다. cat이나 less로 빠르게 볼 수도 있지만, 신택스 하이라이트(구문 강조)가 적용된 상태로 제대로 읽고 싶을 때도 있죠.

VS Code나 Cursor를 열면 해결될 일이지만, 여러 프로젝트에서 IDE를 띄워 놓으면 메모리 소비가 서서히 부담을 줍니다. 「잠깐 파일을 보고 싶을 뿐인데, 그것만을 위해 IDE를 실행하는 건 무겁다」고 느끼는 상황, 없으신가요?

이 글에서는 터미널 안에서 완결되는 두 가지 해결책을 소개합니다.

  • 보기만 할 거라면 bat: cat의 강화판. 신택스 하이라이트가 지원되며, 마우스 선택도 직관적으로 작동합니다.
  • 편집까지 고려한다면 Neovim: 신택스 하이라이트와 함께 파일을 열면서 필요하면 수정도 할 수 있는 가벼운 에디터.

참고로 제가 사용하는 터미널은 Ghostty입니다. 화면 분할이 쉽고 가벼워서 애용하고 있습니다. 한쪽 페인에서 Claude Code를 실행하면서, 다른 쪽에서 bat이나 Neovim을 열어 파일을 확인하는 방식이 매우 쾌적합니다.

가장 심플한 선택지: cat / less / tail

bat 이야기를 하기 전에, 기본으로 포함된 명령어도 짚고 넘어가겠습니다. 「신택스 하이라이트는 필요 없고 내용만 보고 싶다」는 경우에는 이것으로 충분합니다.

# 파일 전체를 그대로 표시
cat src/index.ts

# 스크롤하며 읽고 싶을 때
less src/index.ts

# 끝부분만 확인하고 싶을 때
tail -20 src/index.ts

less는 스페이스 키로 한 화면씩 스크롤, q로 종료합니다. 검색은 / 뒤에 키워드를 입력하면 됩니다.

하지만 이 명령어들에는 신택스 하이라이트가 없습니다. 코드를 읽을 때 색상이 없다는 건 생각보다 피곤한 일입니다.

조회의 결정판: bat

batcat의 클론으로, 신택스 하이라이트와 페이지네이션(less 상당) 기능을 기본으로 갖추고 있습니다. Rust로 제작된 모던한 CLI 도구의 대표격으로, cat을 대체하는 표준으로 널리 사용됩니다.

설치는 Homebrew로 한 번에 가능합니다.

brew install bat

사용법은 cat과 거의 같습니다.

bat src/index.ts

긴 파일이라면 자동으로 페이지네이션 모드로 들어가며, less와 마찬가지로 스페이스 키로 스크롤, q로 종료합니다. 짧은 파일이라면 페이저를 거치지 않고 cat처럼 그대로 출력해주므로, cat의 상위 호환으로 사용할 수 있습니다.

마우스 조작은 어떻게 되나

bat(내부적으로 less를 사용합니다)은 마우스 이벤트를 캡처하지 않습니다. 따라서 터미널 쪽에서 평소처럼 마우스 선택을 처리해 줍니다. 드래그 선택 → Command+C가 그대로 작동합니다. 나중에 소개할 Neovim처럼 수정 키를 외울 필요가 없습니다.

마우스 휠 스크롤도 Ghostty라면 표시 중인 페이지가 그대로 스크롤되므로, 특별한 추가 설정 없이 쾌적하게 사용할 수 있습니다.

cat의 대체제로 상시 사용한다면

batcat처럼 사용하고 싶다면 에일리언스(alias)를 설정하는 것이 일반적입니다.

alias cat='bat --plain --paging=never'

--plain은 장식(행 번호나 그리드)을 생략하는 옵션, --paging=never는 짧은 파일이라도 페이저를 거치지 않고 그대로 출력하는 옵션입니다. 이렇게 하면 cat과 같은 느낌으로 사용하면서 신택스 하이라이트의 혜택을 누릴 수 있습니다.

다만, 저는 에일리언스를 설정하지 않았습니다. 셸 스크립트에서 cat을 사용하는 상황과 동작을 맞추고 싶기도 하고, 신택스 하이라이트와 함께 보고 싶을 때만 의식적으로 bat이라고 입력하는 것이 스스로 목적이 분명해지기 때문입니다.

편집까지 고려한다면 Neovim

bat은 조회 전용 도구입니다. 「읽고 난 후, 조금 수정하고 싶다」는 상황에서는 에디터가 나설 차례입니다. 지금부터 Neovim을 설정하는 절차를 소개합니다. Vim 계열 에디터를 써본 적이 없어도 괜찮습니다.

왜 Vim이 아니라 Neovim인가

터미널에서 작동하는 에디터라면 Vim이 먼저 떠오르겠지만, 이 글에서는 Neovim을 사용합니다. Neovim은 Vim을 포크한 프로젝트로, 기본적인 조작은 Vim과 같습니다. 그럼 무엇이 다르냐 하면, 설정하지 않아도 처음부터 바로 쓸 수 있는 상태의 범위가 크게 다릅니다.

순정 Vim에서 똑같은 환경을 만들려면 신택스 하이라이트 활성화, autoread 설정, 행 번호 표시, 백스페이스 동작 수정 등 「일단 이것부터 써넣지 않으면 시작도 못 한다」는 설정이 꽤 많습니다. Neovim은 이것들이 기본으로 활성화되어 있어 최소한의 설정으로 원하는 환경에 도달할 수 있습니다.

Vim 헤비 유저라면 똑같은 설정을 .vimrc에 작성해서 동일한 환경을 만들 수 있습니다. 하지만 저 자신은 Vim에 그리 정통하지 않아서, 기본 상태로도 실용적인 Neovim이 더 편했습니다. 새로 시작한다면 Neovim이 더 접근하기 쉬울 것입니다.

Neovim 설치와 실행

macOS라면 Homebrew로 한 번에 설치됩니다.

brew install neovim

Ubuntu 계열의 경우는 다음과 같습니다.

sudo apt install neovim

설치가 되었는지 확인해 봅시다.

nvim --version

파일을 열 때는 nvim 파일명으로 실행합니다.

nvim src/index.ts

먼저 알아두어야 할 「모드」의 개념

Neovim을 처음 접하면 키를 눌러도 글자가 입력되지 않아 당황할 수 있습니다. 이는 Neovim이 「모드」라는 시스템을 가지고 있기 때문입니다. 실행 직후에는 노멀 모드 상태이며, 키 입력은 모두 「조작 명령」으로 해석됩니다.

기억해야 할 모드는 딱 3가지입니다.

모드용도
(실행 직후)노멀 모드커서 이동, 명령 실행
i인서트 모드글자 입력 및 편집
v / V비주얼 모드범위 선택 (v는 글자 단위, V는 행 단위)

어떤 모드에서든 Esc를 누르면 노멀 모드로 돌아옵니다. 길을 잃으면 Esc를 두 번 누른다, 이것만 기억하면 헤매지 않습니다. 화면 하단 상태 표시줄에 -- INSERT ---- VISUAL --이라고 표시되므로, 현재 어떤 모드인지 한눈에 알 수 있습니다.

저장과 종료

노멀 모드에서 :를 입력하면 명령 입력란이 나타납니다. 최소한 이것만은 기억합시다.

명령동작
:w저장
:q종료
:wq저장 후 종료
:q!저장하지 않고 강제 종료

「끄는 법을 몰라서 못 끈다」는 Vim의 유명한 밈이지만, :q!만 알고 있으면 탈출할 수 있습니다.

Claude Code의 편집을 자동 리로드하는 설정

Neovim으로 파일을 열어둔 채, 옆 페인에서 Claude Code에게 작업을 시키는 경우도 있을 것입니다. Claude Code가 파일을 수정했을 때 자동으로 다시 읽어오도록 설정해두면 편리합니다.

설정 파일은 ~/.config/nvim/init.vim입니다. 아직 없다면 디렉터리부터 생성해 주세요.

mkdir -p ~/.config/nvim
nvim ~/.config/nvim/init.vim

다음 내용을 작성합니다.

set autoread
set number
syntax on
au CursorHold,CursorHoldI * checktime
au FocusGained,BufEnter * checktime

autoread는 Neovim에서 기본으로 활성화되어 있지만, 의도를 명시하기 위해 여기 적어둡니다. 다만 autoread만으로는 셸 명령 실행 후나 포커스 복귀 시 등 제한적인 타이밍에만 다시 읽기가 수행됩니다. au CursorHoldau FocusGained 두 줄을 추가함으로써, 커서가 일정 시간 멈춘 타이밍이나 윈도우로 포커스가 돌아온 타이밍에도 checktime(외부 변경 확인)이 실행되도록 합니다.

이 설정을 넣은 상태로 Neovim에 파일을 열어두면, 옆 페인에서 Claude Code가 편집할 때마다 내용이 갱신되는 모습을 지켜볼 수 있습니다.

복사 & 붙여넣기의 방식

Neovim에서 편집까지 하고 싶다면 복사 & 붙여넣기 메커니즘을 이해해야 합니다. Vim의 세계에서는 독특한 용어를 사용합니다.

  • 복사를 **양크(yank)**라고 부름
  • **컷(잘라내기)**이라는 개념은 따로 없고, 삭제(delete)하면 그 내용이 자동으로 레지스터에 들어감

즉 「삭제 = 잘라내기」입니다. 이 발상의 전환이 첫 번째 관문일 수 있습니다.

기본 조작 (노멀 모드)

동작
yy현재 행 복사
dd현재 행 잘라내기 (삭제 후 레지스터로)
x1글자 삭제
p커서 뒤에 붙여넣기
P커서 앞에 붙여넣기

비주얼 모드(v로 범위를 선택한 상태)에서 y를 누르면 선택 범위 복사, d를 누르면 선택 범위 잘라내기가 됩니다.

Mac의 클립보드와 연동하기

기본적인 yp는 Neovim 내부 레지스터에만 작동합니다. Mac의 다른 앱과 복사 & 붙여넣기를 주고받고 싶다면 init.vim에 한 줄을 추가합니다.

set clipboard=unnamedplus

이제 y / p / d가 모두 Mac의 시스템 클립보드와 직결됩니다. Neovim에서 양크한 내용을 다른 앱에 Command+V로 붙여넣거나, 반대로 다른 앱에서 복사한 내용을 Neovim 안에서 p로 붙여넣을 수 있게 됩니다.

「항상 클립보드와 연동하는 게 아니라 필요할 때만 쓰고 싶다」는 경우에는 "+y(시스템 클립보드에 양크)나 "+p(시스템 클립보드에서 붙여넣기)를 입력하여 개별적으로 지정할 수 있습니다.

마우스 조작 선택하기

Neovim은 기본적으로 마우스 조작이 활성화되어 있습니다(mouse=nvi 설정). 이 상태에서 마우스를 드래그하면 터미널의 선택이 아니라 Neovim의 비주얼 모드 선택으로 취급됩니다.

여기서 Command+C를 눌러도 터미널 쪽에는 선택 범위가 존재하지 않으므로 아무것도 복사되지 않습니다. 게다가 실수로 c 키를 눌러버리면 Neovim은 이를 「change(선택 범위를 삭제하고 인서트 모드 진입)」로 해석하기 때문에 선택 범위가 사라지는 사고가 발생할 수도 있습니다.

저도 처음에는 「마우스로 선택 → Command+C」 습관을 버리지 못해 몇 번이나 선택 범위를 날려 먹었습니다. 하지만 괜찮습니다. 금방 익숙해집니다. 설령 실수를 하더라도 Esc로 노멀 모드에 돌아가서 u를 누르면 취소할 수 있습니다(u는 undo, Ctrl+r은 redo입니다. Mac의 Command+Z / Command+Shift+Z에 해당한다고 생각하세요).

대처 방안은 세 가지가 있습니다.

추천: 기본값 그대로 사용하기

사실 마우스 설정은 그대로 mouse=nvi로 두고, 복사 & 붙여넣기는 Vim 방식(y / d / p)에 맡기는 것이 가장 편합니다. 저도 이 방식에 정착했습니다.

  • 마우스로 드래그하여 비주얼 선택 → y를 누르는 것만으로 Mac 클립보드에 저장됨 (clipboard=unnamedplus 덕분)
  • 마우스 클릭으로 커서를 배치할 수 있어 편집 중에도 일반 에디터 느낌으로 사용 가능

「마우스로 선택 → Command+C」 습관을 「마우스로 선택 → y」로 바꾸기만 하면 됩니다. 외울 것은 y / d / p 세 키뿐이라 익숙해지면 이쪽이 더 빠릅니다.

반드시 Command+C를 쓰고 싶다면: 수정 키 + 드래그

「키보드 조작으로 바꾸고 싶지 않다, Command+C를 고수하고 싶다」는 경우에는 수정 키를 누른 채 드래그하면 터미널 쪽의 선택이 되어 Command+C로 복사할 수 있습니다.

수정 키는 터미널 앱마다 다릅니다.

터미널마우스 리포팅 우회 방법
GhosttyShift + 드래그
iTerm2Shift + 드래그 (Option + 드래그는 사각형 선택)
Terminal.appfn + 드래그 또는 Shift + 드래그 (Option + 드래그는 사각형 선택)

마우스 조작 자체를 끄고 싶다면: set mouse=

set mouse=

마우스 조작이 모두 터미널 쪽 관할이 되므로, 드래그 선택 후 Command+C가 평소처럼 작동합니다. 다만 마우스 클릭으로 커서를 배치할 수 없게 되어 편집에는 조금 불편합니다.

Neovim에서 Mac 클립보드로 붙여넣는 방법 요약

상황에 따라 골라 쓸 수 있습니다.

상황방법
clipboard=unnamedplus 설정됨노멀 모드에서 p
설정 없음노멀 모드에서 "+p
인서트 모드 중Command+V (터미널의 붙여넣기 기능 경유)

최종적인 init.vim

지금까지의 설정을 모두 모으면 다음과 같습니다.

set mouse=nvi
set clipboard=unnamedplus
set number
syntax on
set autoread
au CursorHold,CursorHoldI * checktime
au FocusGained,BufEnter * checktime

단 7줄이지만, 이것만으로 다음 사항들이 실현됩니다.

  • 마우스 클릭으로 커서 배치가 가능함
  • 마우스로 드래그 선택 → y로 Mac 클립보드에 복사 가능
  • y / p / d가 Mac 클립보드와 직결됨
  • 인서트 모드에서 Command+V도 사용 가능
  • Claude Code에 의한 외부 변경이 자동으로 리로드됨

마치며

제 결론은 심플합니다. 보기만 할 거라면 bat, 편집까지 고려한다면 Neovim입니다. bat은 설치만으로 즉시 전력이 되고, Neovim도 set clipboard=unnamedplusset autoread 두 줄만 넣어두면 신택스 하이라이트와 함께 읽으면서 수정도 할 수 있는 가벼운 환경을 얻을 수 있습니다.

Neovim은 처음의 「모드」 개념과 복사 & 붙여넣기 방식 때문에 당황하기 쉽지만, 양크(y)와 딜리트(d)가 그대로 클립보드 조작이 된다는 발상에 익숙해지면 터미널에서 손을 떼지 않고 작업이 완결되는 쾌감이 있습니다.

IDE를 실행할 정도는 아니지만 cat으로는 신택스 하이라이트가 없어 읽기 불편할 때, bat과 Neovim을 적절히 구분해서 사용하면 Claude Code와의 작업이 훨씬 쾌적해집니다. 꼭 한번 시도해 보세요.

이 기사 공유하기