Vim 편집기의 모든 기능 옵션은 .vimrc 파일을 통해 제어할 수 있습니다. 이 파일은 Vim 동작의 핵심을 담당하며, 사용자의 작업 환경에 맞게 커스터마이징이 가능합니다.
.vimrc 파일의 위치
Vim 설정 파일은 시스템 설정과 사용자 설정 두 가지로 구분됩니다.
시스템 vimrc 파일은 Vim 설치 디렉터리에 위치하며, 기본 경로는 /usr/share/vim/vimrc입니다. Vim 설치 디렉터리는 다음 명령어로 확인할 수 있습니다:
echo $VIM
사용자 vimrc 파일은 홈 디렉터리에 ~/.vimrc 형태로 저장됩니다. 홈 디렉터리는 다음 명령어로 확인합니다:
echo $HOME
Vim 실행 시 사용자 설정 파일이 시스템 설정 파일보다 우선적으로 로드됩니다. 따라서 개인용 설정은 대부분 ~/.vimrc에 기록합니다.
Vim 기본 환경 설정
기본 상태에서는 행 번호가 표시되지 않고, 구문 강조 기능도 비활성화되어 있습니다. 더 효율적인 편집 환경을 위해 주요 설정 옵션을 알아봅니다.
한글 인코딩 설정
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
Vim의 인코딩 관련 변수로는 encoding, fileencoding, termencoding이 있습니다. encoding은 버퍼 텍스트, 레지스터, Vim 스크립트 파일 등에 사용되는 인코딩이고, fileencoding은 파일 저장 시 적용되는 인코딩 방식입니다. termencoding은 터미널 출력 시 사용되는 인코딩을 지정합니다.
행 번호 표시
set nu
set number
nu는 number의 약어입니다. 두 명령어는 동일한 기능을 수행합니다.
현재 행 강조 표시
set cursorline
set cul
cul은 cursorline의 약어表现形式입니다.
현재 열 강조 표시
set cursorcolumn
set cuc
마우스 활성화
set mouse=a
set selection=exclusive
set selectmode=mouse,key
기본적으로 Vim은 마우스를 사용하지 않도록 설정되어 있습니다. 마우스를 활성화하면 클릭한 위치로 커서가 이동합니다. 그러나 Vim 사용의 장점 중 하나가 마우스 없이 키보드만으로 편집을 완료하는 것이므로, 이 설정은 취향에 따라 선택할 수 있습니다.
괄호 쌍 강조 표시
set showmatch
탭과 들여쓰기 설정
set tabstop=4
set shiftwidth=4
set autoindent
tabstop은 탭 문자 하나의 길이를 나타내며, shiftwidth는 자동 들여쓰기 시 적용되는 너비입니다. autoindent는 이전 행의 들여쓰기 스타일을继承하여 다중 행 주석 처리에 유용합니다.
붙여넣기 모드 설정
set paste
마우스 오른쪽 버튼으로 붙여넣기を行う 경우, 행 앞에 불필요한 들여쓰기가 추가되는 문제가 발생할 수 있습니다. paste 모드를 설정하면 삽입 모드에서 내용을 붙여넣을 때 서식 문제가 발생하지 않습니다.
공백 문자 표시
set listchars=tab:>-,trail:-
기본적으로 Vim은 파일의 탭과 공백 문자를 표시하지 않습니다. 위 설정을 적용하면 시각적으로 구분할 수 있어 입력 오류를 파악하는 데 도움이 됩니다.
상태 표시줄과 커서 위치 표시
set laststatus=2
set ruler
laststatus=2는 항상 상태 표시줄을 표시하도록 하고, ruler는 현재 커서 위치를 화면 하단에 표시합니다.
파일 유형 감지 활성화
filetype plugin indent on
설정 변경 실시간 적용
.vimrc 파일을 수정한 후 변경 사항을 즉시 적용하려면 Vim을 재시작해야 합니다. 다음 설정을 추가하면 파일 저장 시 자동으로 다시 로드됩니다:
autocmd BufWritePost $MYVIMRC source $MYVIMRC
이제 기본적인 Vim 환경 설정이 완료되었습니다. 추가적인 개인화 옵션은 Vim 관련 자료를 참고하여 직접 탐색해 보세요.