[Vim 시리즈 5편] 설정하기 - .vimrc 만들기와 실전 팁

한국어 버전

Vim의 진정한 힘은 커스터마이징에 있습니다. .vimrc 파일을 만들어 나만의 Vim 환경을 구축하고, 실전에서 바로 쓸 수 있는 팁을 익혀봅시다.


이 글에서 할 것

  • .vimrc 파일 생성하고 설정하기
  • 줄 번호, 구문 강조 등 기본 설정 적용
  • vimtutor로 종합 연습하기
  • 실전 팁 10가지 익히기

준비물

  • Vim이 설치된 터미널
  • 텍스트 편집기 (Vim 또는 다른 에디터)

실습 1: .vimrc 파일 만들기

홈 디렉토리에서 .vimrc 생성

.vimrc는 홈 디렉토리에 위치하는 Vim 설정 파일입니다.

.vimrc 파일 생성 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

초기 화면: 빈 파일이 열립니다. ~ 표시가 빈 줄을 의미합니다.


실습 2: 기본 설정 입력

i 로 Insert 모드 진입

Insert 모드로 전환 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

설정 내용 입력

Insert 모드에서 다음 설정을 입력합니다:

.vimrc 설정 입력 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

주요 설정 설명:

설정 설명
set number 줄 번호 표시
syntax on 구문 강조 활성화
set tabstop=2 탭을 2칸 공백으로
set hlsearch 검색 결과 하이라이트
set cursorline 현재 줄 강조

실습 3: 저장하고 종료

Esc:``w``q 로 저장

:wq로 저장하고 종료 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

실습 4: 설정 적용 확인

새로운 Vim에서 설정 확인

.vimrc 설정이 적용되면 줄 번호가 표시됩니다.

설정 적용 확인 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

설정 적용 전: 줄 번호 없음


설정 적용 후: 줄 번호 확인

줄 번호 표시됨 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

설정 적용 후: 화면 왼쪽에 줄 번호(1, 2, 3...)가 표시됩니다.


실습 5: vimtutor로 연습

vimtutor 실행

vimtutor는 Vim에 내장된 튜토리얼 프로그램입니다.

vimtutor 실행 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

실습 시간: 약 25-30분

주요 레슨:

레슨 내용
Lesson 1 커서 이동, 종료, 삭제
Lesson 2 삭제, Undo, 붙여넣기
Lesson 3 복사, 변경, 치환
Lesson 4 커서 위치, 검색
Lesson 5 외부 명령, 저장
Lesson 6 삽입, 대체, Visual 모드
Lesson 7 도움말, 파일 열기

실전 팁

팁 1: 임시 줄번호 설정

:set nu로 줄번호 켜기 zsh · ~/workspace
Ready. Press Replay to run the scripted session.
명령어 설명
:set nu 줄 번호 켜기
:set nonu 줄 번호 끄기

팁 2: 줄번호 끄기

:set nonu로 줄번호 끄기 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

팁 3: 전체 치환

:%s/old/new/g는 파일 전체에서 oldnew로 치환합니다.

전체 치환 예시 zsh · ~/workspace
Ready. Press Replay to run the scripted session.
옵션 설명
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 설정 가능

실습 완료 체크리스트

  • ~/.vimrc 파일 생성
  • 기본 설정 입력 및 저장
  • 새 Vim에서 줄 번호 확인
  • vimtutor 실행
  • /검색어로 검색 연습
  • :%s/old/new/g로 치환 연습
  • v로 Visual 모드 연습
  • :help로 도움말 확인

Vim 시리즈 완료!

Vim 기초 시리즈를 완료하셨습니다!

지금까지 배운 내용:

  1. Vim이 필요한 이유
  2. 설치와 기본 실행
  3. 모드와 이동
  4. 편집 명령어
  5. 설정과 실전 팁

앞으로의 학습:

  • 매일 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

💬 댓글

이 글에 대한 의견을 남겨주세요