본문 바로가기
C.W.K.
Stream
Lesson 02 of 04 · published

파일 탐색기와 내장 completion

~11 min · vim, netrw, completion

Level 0갇힌 자
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Vim에 파일 탐색기가 이미 들어 있어

파일을 훑어보려고 NerdTree나 neo-tree를 꼭 깔아야 하는 건 아니야. Vim에는 netrw가 딸려 와. 디렉토리를 편집하는 화면인데, 한 줄이 파일 하나 또는 폴더 하나야. :Explore (또는 :e .) 로 지금 디렉토리를 열고, 평소 쓰던 motion으로 돌아다니고, Enter로 열면 돼.

탐색기 안에서 쓰는 netrw 명령

  • Enter — 파일 열기 / 디렉토리 들어가기.
  • - — 상위 디렉토리로.
  • % — 새 파일 만들기 (이름을 물어봐).
  • d — 새 디렉토리.
  • D — 커서 위 파일이나 디렉토리 삭제.
  • R — 이름 바꾸기.
  • i — 목록 스타일 바꾸기 (thin, long, wide, tree).

Vim한테 알아서 채우게 시키기

쓸 만한 completion을 받는 데 plugin이 꼭 필요하진 않아. Insert mode에서 Ctrl-n을 누르면 열려 있는 모든 buffer를 훑어서 지금 친 것과 맞는 단어를 제안해줘. Ctrl-p는 같은 걸 역순으로 하고. 의외로 쓸 만한 도구야. 제대로 된 LSP보다야 제한적이지만 공짜에, 설정도 없고, 어떤 서버에서든 바로 먹혀.

Ctrl-x 하위 메뉴

Insert mode의 Ctrl-x가 더 작은 completion 메뉴를 열어. 뒤이어 누르는 키가 어떤 source를 쓸지 골라주고. 알아둘 만한 것들이야.

  • Ctrl-x Ctrl-f — 파일명 completion. 경로를 일부만 치면 Vim이 파일시스템에서 채워줘.
  • Ctrl-x Ctrl-l — 줄 전체 completion. 줄 앞부분을 치면 열린 buffer에서 맞는 줄을 통째로 제안해.
  • Ctrl-x Ctrl-o — omni-completion (언어를 아는 completion, 설정이 필요해).
  • Ctrl-x Ctrl-n — 지금 파일 안의 단어만.
  • Ctrl-x Ctrl-k — 사전 단어 (set dictionary=/usr/share/dict/words를 먼저 걸어둬).
줄 통째로 베끼기: plugin 하나 없는 급한 서버에서 Ctrl-x Ctrl-l이 긴 줄이나 비슷비슷한 함수 호출을 복제할 때 놀랄 만큼 쓸모 있어. LSP는 아니지만 낯선 서버에서 손 놓지 않을 만큼은 해줘.

Code

Netrw 열기와 navigate·vim
:Explore           " 현재 window 의 netrw
:Sexplore          " 가로 split + netrw
:Vexplore          " 세로 split + netrw
:Lexplore          " 왼쪽 사이드바 (토글)
:e .               " :Explore 와 동일

" Netrw 안:
<Enter>            " 파일 열기 / 디렉토리 들어가기
-                  " 한 디렉토리 위로
%                  " 새 파일
d                  " 새 디렉토리
D                  " 삭제
R                  " 이름 변경
i                  " 리스트 스타일 순환
Insert-mode completion — plugin 불필요·vim
Ctrl-n             " 다음 매치 (열린 buffer 의 키워드)
Ctrl-p             " 이전 매치
Ctrl-x Ctrl-f      " 파일명 completion
Ctrl-x Ctrl-l      " 라인 전체 completion
Ctrl-x Ctrl-o      " omni-completion (언어 인식)
Ctrl-x Ctrl-n      " 현재 파일만 키워드
Ctrl-x Ctrl-k      " 사전 completion

External links

Exercise

plugin 없이 Vim을 열어 (제대로 해보고 싶으면 vim -u NONE). :Explore로 디렉토리를 훑고, %로 새 파일을 만들고, 몇 줄 쓰고, 저장한 다음 :e .로 netrw에 돌아와. Insert mode에서 경로를 일부만 치고 Ctrl-x Ctrl-f로 파일명 completion을 불러봐. 요점은 이거야. 다들 기억하는 것보다 vanilla Vim이 훨씬 많은 걸 할 줄 알아.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.