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는 아니지만 낯선 서버에서 손 놓지 않을 만큼은 해줘.