Vim의 진정한 힘은 커스터마이징에 있습니다. .vimrc 파일을 만들어 나만의 Vim 환경을 구축하고, 실전에서 바로 쓸 수 있는 팁을 익혀봅시다.
이 글에서 할 것
.vimrc 파일 생성하고 설정하기
- 줄 번호, 구문 강조 등 기본 설정 적용
vimtutor로 종합 연습하기
- 실전 팁 10가지 익히기
준비물
- Vim이 설치된 터미널
- 텍스트 편집기 (Vim 또는 다른 에디터)
실습 1: .vimrc 파일 만들기
홈 디렉토리에서 .vimrc 생성
.vimrc는 홈 디렉토리에 위치하는 Vim 설정 파일입니다.
초기 화면: 빈 파일이 열립니다. ~ 표시가 빈 줄을 의미합니다.
실습 2: 기본 설정 입력
i 로 Insert 모드 진입
설정 내용 입력
Insert 모드에서 다음 설정을 입력합니다:
실습 4: 설정 적용 확인
새로운 Vim에서 설정 확인
.vimrc 설정이 적용되면 줄 번호가 표시됩니다.
설정 적용 후: 화면 왼쪽에 줄 번호(1, 2, 3...)가 표시됩니다.
실습 5: vimtutor로 연습
vimtutor 실행
vimtutor는 Vim에 내장된 튜토리얼 프로그램입니다.
팁 3: 전체 치환
:%s/old/new/g는 파일 전체에서 old를 new로 치환합니다.
| 옵션 |
설명 |
g |
한 줄에서 모든 occurrence 치환 |
c |
확인하면서 치환 |
기타 실전 팁
팁 4: 빠른 저장+종료
:x " :wq와 동일 (변경 있을 때만 저장)
팁 5: 저장만 하기
:w " 저장만 하고 Vim 유지
팁 6: 파일 끝에서 내용 추가
G " 파일 끝으로 이동
o " 아랫줄에 새 줄 생성 + Insert 모드
팁 7: 검색
/단어 " '단어' 검색
n " 다음 검색 결과
N " 이전 검색 결과
팁 8: Visual 모드
v " 문자 단위 선택
V " 줄 단위 선택
Ctrl+v " 블록 선택
팁 9: 도움말 보기
:help dd " dd 명령어 도움말
:help index " 모든 명령어 목록
팁 10: 명령어 히스토리
: " Command 모드
↑ (위쪽) " 이전 명령어
↓ (아래쪽) " 다음 명령어
문제 해결
문제 1: "E37: No write since last change"
에러 메시지:
E37: No write since last change (add ! to override)
원인: 저장하지 않은 변경사항이 있음
해결:
:wq " 저장하고 종료
:q! " 저장 안 하고 강제 종료
문제 2: "E45: readonly option is set"
에러 메시지:
E45: 'readonly' option is set (add ! to override)
해결:
:w !sudo tee % " sudo로 저장
문제 3: 설정이 적용되지 않음
원인: .vimrc 파일 위치가 틀리거나 오타
확인:
cd ~
ls -la .vimrc
문제 4: .vimrc 문법 에러
에러 메시지:
Error detected while processing /Users/username/.vimrc:
line 10:
E518: Unknown option: nubmer
해결:
vim ~/.vimrc # 오타 수정 (nubmer → number)
:source % " 현재 파일 다시 로드
.vimrc 설정 상세 설명
" ============================================
" .vimrc 설정 해설
" ============================================
" --- 표시 설정 ---
set number " 줄 번호 표시 (1, 2, 3...)
syntax on " 코드 구문 강조 (색상)
set cursorline " 현재 줄 강조 (배경색)
set laststatus=2 " 상태줄 항상 표시
set showmatch " 괄호 짝 강조
" --- 탭/들여쓰기 ---
set tabstop=2 " 탭 = 2칸
set shiftwidth=2 " 자동 들여쓰기 2칸
set expandtab " 탭을 공백으로 변환
" --- 검색 설정 ---
set hlsearch " 검색어 하이라이트
set ignorecase " 대소문자 무시 검색
set smartcase " 대문자 입력 시 대소문자 구분
set incsearch " 실시간 검색
" --- 편집 설정 ---
set backspace=indent,eol,start " 백스페이스 정상 동작
set nobackup " 백업 파일 생성 안 함
set noswapfile " 스왑 파일 생성 안 함
" --- 인코딩 ---
set encoding=utf-8
set fileencoding=utf-8
다음 단계 추천
1. 플러그인 매니저 설치 (선택)
vim-plug 설치:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
2. 유용한 플러그인
" .vimrc에 추가
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-sensible' " 기본 설정 모음
Plug 'preservim/nerdtree' " 파일 탐색기
Plug 'vim-airline/vim-airline' " 상태줄 개선
call plug#end()
3. Neovim 고려
brew install neovim
- 현대적인 Vim 대안
- 더 나은 플러그인 지원
- Lua 설정 가능
실습 완료 체크리스트
Vim 시리즈 완료!
Vim 기초 시리즈를 완료하셨습니다!
지금까지 배운 내용:
- Vim이 필요한 이유
- 설치와 기본 실행
- 모드와 이동
- 편집 명령어
- 설정과 실전 팁
앞으로의 학습:
- 매일 Vim 사용해 보기
vimtutor 2~3회 반복
- 점진적으로 고급 기능 익히기
Vim 시리즈 목록
| 편 |
제목 |
주요 내용 |
| 1 |
Vim을 왜 배워야 하나요? |
필요성과 장점 |
| 2 |
설치하고 처음 실행하기 |
설치, i, ESC, |
| 3 |
모드 완벽 이해와 커서 이동 |
hjkl, w, e, b, gg, G |
| 4 |
편집 명령어 |
x, dd, yy, p, u |
| 5 |
설정하기 - .vimrc 만들기 |
.vimrc, vimtutor |
💬 댓글
이 글에 대한 의견을 남겨주세요