처음 쓰는 .vimrc — 꼭 넣을 설정 12줄
vim 을 설치하고 처음 만드는 .vimrc 에 넣을 설정을 이유와 함께 정리했습니다. 줄번호, 검색 옵션, 들여쓰기, 클립보드까지.
어디에 만드는가
리눅스·macOS 는 ~/.vimrc, 윈도우는 %USERPROFILE%\_vimrc 입니다. Neovim 은 ~/.config/nvim/init.vim 입니다. 파일이 없으면 새로 만들면 됩니다.
설정을 바꾼 뒤에는 :source ~/.vimrc 로 다시 읽거나 vim 을 다시 열면 적용됩니다.
12줄
아래는 취향이 크게 갈리지 않는 설정만 모은 것입니다. 각 줄의 이유를 알고 넣는 것이 중요합니다.
- set number relativenumber " 절대+상대 줄번호. 3j 같은 이동이 쉬워진다
- set expandtab tabstop=4 shiftwidth=4 " 탭을 공백으로. 프로젝트 규칙에 맞춘다
- set autoindent smartindent " 새 줄에 들여쓰기를 이어받는다
- set ignorecase smartcase " 소문자로 찾으면 대소문자 무시, 대문자를 섞으면 구분
- set incsearch hlsearch " 치는 동안 미리 찾고 결과를 강조한다
- set scrolloff=3 " 커서 위아래로 세 줄은 항상 보인다
- set clipboard=unnamed " y p 가 시스템 클립보드를 쓴다(빌드에 +clipboard 필요)
- set undofile " vim 을 닫았다 열어도 u 가 이어진다
- set showcmd showmode " 입력 중인 명령과 현재 모드를 보여 준다
- set backspace=indent,eol,start " 입력 모드 백스페이스가 예상대로 동작한다
- syntax on " 문법 강조
- filetype plugin indent on " 파일 종류에 맞는 들여쓰기·플러그인
매핑은 최소한으로
처음부터 매핑을 많이 넣으면 남의 컴퓨터에서 vim 을 쓸 수 없게 됩니다. 기본 키로 익히고, 정말 반복되는 것만 매핑하세요.
많이 쓰는 두 줄만 예로 듭니다. inoremap jk <Esc> 는 입력 모드에서 jk 로 나오게 하고, nnoremap <silent> <Esc> :noh<CR> 은 Esc 로 검색 강조를 끕니다.
플러그인은 나중에
vim 을 배우는 동안에는 플러그인을 넣지 않는 편이 빠릅니다. 기본 기능으로 안 되는 것이 무엇인지 알기 전에는 어떤 플러그인이 필요한지도 알 수 없습니다.
정말 필요해지는 시점은 대개 파일 찾기(fzf), 문법 검사(ALE 또는 LSP), git 연동(vim-fugitive) 순서입니다. 그때 vim-plug 같은 관리자를 붙이면 됩니다.
자주 묻는 질문
클립보드 설정이 동작하지 않습니다.
vim --version 에서 +clipboard 인지 확인하세요. -clipboard 라면 그 기능이 빠진 빌드입니다. 리눅스에서는 vim-gtk3 처럼 클립보드가 포함된 패키지를 설치하면 됩니다.
relativenumber 가 어지럽습니다.
set number 만 쓰다가, 이동에 익숙해진 뒤 relativenumber 를 켜 보세요. 둘을 함께 켜면 커서 줄만 절대 번호가 보이는 하이브리드가 됩니다.
다른 가이드
-
vim 종료·저장 방법 — :wq 부터 강제 종료까지
vim 에서 나가는 방법을 상황별로 정리했습니다. 저장하고 나가기, 저장 없이 나가기, 읽기 전용 파일 강제 저장, E37 오류 대처까지 실제 동작 기준으로 설명합니다.
-
vim 모드 완전 이해 — 노멀·입력·비주얼·명령줄
vim 이 모드를 쓰는 이유와 네 가지 모드의 차이, 모드 사이를 오가는 키를 정리했습니다. 모드를 이해하면 vim 의 나머지는 전부 이 위에 얹힙니다.
-
vim 커서 이동 총정리 — 방향키를 놓는 순서
hjkl 부터 w b e f t % gg G 까지, vim 이동 명령을 쓰는 순서대로 정리했습니다. 이동은 그 자체로도 쓰고 연산자 뒤에 붙여 범위로도 씁니다.
-
vim 연산자 — d c y 와 [연산자][이동] 문법
vim 편집의 문법은 [개수][연산자][개수][이동] 하나입니다. dw cw yy D C 를 외우는 대신 조합 규칙을 이해하는 방법을 설명합니다.
-
vim 텍스트 오브젝트 — ciw · ci" · di( 가 바꾸는 것
커서를 정확한 자리에 두지 않아도 편집할 수 있게 해 주는 텍스트 오브젝트를 정리했습니다. 실무에서 가장 많이 쓰는 vim 기능입니다.
-
vim 검색과 치환 — / ? n N 과 :%s 완전 정리
vim 검색 이동과 :s 치환 문법을 플래그와 범위까지 정리했습니다. 확인하며 치환하는 c 플래그, 대소문자 무시 옵션도 다룹니다.