라즈베리파이(라즈비안)에서 VIM 에디터 사용하기

라즈베리파이에서 코딩을 하려면 가장 먼저 익혀야 될 에디터가 있습니다. VIM 에디터 입니다. 본래 유닉스에서 제공하던 vi 에디터를 1991년 Bram Moolenaar라는 개발자가 vi 에디터의 개선버전이란 뜻의 improved 를 붙혀서 Vim 이라는 에디터로 최초 릴리즈를 하였습니다. 

이에 리눅스 계열 OS는 vi의 변종 에디터인 Vim을 주로 사용하기 시작하였습니다. vi 에디터와 거의 호환되면서 좀더 편리하게 개선된 Vim은 텍스트 기반의 에디터지만 현재까지도 리눅스 진영에서는 거의 필수적인 에디터라고 보면 될꺼 같습니다. 

저 또한 현재까지 개발을 하면서 Vim 에디터와는 뗄레와 뗄수 없는 관계가 되었습니다. 매일같이 Vim 에디터를 사용하여 코딩을 하다보니 현재는 가장 익숙한 에디터가 된거 같습니다. 요즘 에디터들은 IDE같은 강력한 도구들이 많이 제공되고 있지만 텍스트 기반의 리눅스 터미널 화면에서는 Vim 에디터 만큼 적합한 에디터는 없다고 해도 과언이 아닙니다.  

따라서 리눅스 데비안 계열의 라즈비안에서 코딩을 하려면 필수까진 아니더라도 기본적으로 Vim 에디터를 익혀 두는게 좋습니다. 이번 포스트에서는 라즈비안에서 Vim 에디터를 설치하는 법과 Vim 에디터의 환경설정 하는법, Vim 에디터 단축키에 대하여 알아보겠습니다.

라즈비안에서 Vim 에디터 설치 

라즈비안을 처음 설치하고 나서 터미널이나 SSH로 접속하여 vi 를 실행시키면 Vim 에디터가 실행이 됩니다. 하지만 현 상태에서 Vim 에디터를 사용하기엔 불편한 부분이 있습니다. 따라서 최신 버전의 Vim 에디터를 설치해야  합니다.

Vim 에디터를 설치할때 필요한 명령어는 아래와 같습니다.

sudo apt-get install vim

입력 후 아래 화면에서 y를 누르면 설치가 진행됩니다.

간단하죠?  아래와 같이 메시지가 나오면 설치가 완료된 것입니다.

설치가 완료되었으면 vi 를 입력하고 엔터를 쳐봅니다. 

이렇게 한글로 시작 화면이 나오네요. 정상적으로 Vim 에디터 설치가 완료되었습니다. 

Vim 에디터를 사용하여 파일을 편집하려면 “vi (파일명)” 혹은 “vim (파일명)” 으로 입력하면 됩니다. 보통 vi 로 사용하면 되겠습니다.

Vim 에디터 환경 설정

Vim 에디터는 설치 후에 별다른 설정은 되어 있지 않습니다. 그래서 사용자가 별도로 에디터의 관한 여러가지 환경 설정을 할 수 있습니다. 환경설정은 vimrc라는 파일에 저장을 하게 되는데요, 이 파일에다가 사용자가 원하는 기능이나 문법 규칙, 환경 변수, 에디터 테마 등을 설정할 수 있습니다. 

라즈비안에서 vimrc의 위치는 /etc/vim/vimrc 입니다. 이 파일을 수정하려면 아래와 같이 입력하면 됩니다.

sudo vi /etc/vim/vimrc

이 파일을 vi 에디터로 열어보면 주석으로 된 설명글과 설정 옵션들이 예시로 나와 있습니다. 

" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
" the call to :runtime you can find below.  If you wish to change any of those
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
" will be overwritten everytime an upgrade of the vim packages is performed.
" It is recommended to make changes after sourcing debian.vim since it alters
" the value of the 'compatible' option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
" let g:skip_defaults_vim = 1

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
"  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"endif

" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has("autocmd")
"  filetype plugin indent on
"endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd        " Show (partial) command in status line.
"set showmatch      " Show matching brackets.
"set ignorecase     " Do case insensitive matching
"set smartcase      " Do smart case matching
"set incsearch      " Incremental search
"set autowrite      " Automatically save before commands like :next and :make
"set hidden     " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes)

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif

colo koehler
set nu
set ts=4
set shiftwidth=4
set hlsearch

syntax on

여기서 저는 아랫쪽에 몇가지를 옵션을 추가하였는데요, 테마는 koehler를 사용하였고, 에디터에 라인넘버가 표시되게 하였으며, 탭사이즈는 4, Shift 사이즈는 4, String 검색시 Highlight가 표시되도록 설정하였습니다. syntax on 은 문법 체크 기능을 on 시킨겁니다. 

이외에 추가로 위의 주석처리된 옵션들은 전 사용하지 않지만, 사용하고 싶다면 주석처리를 해제하면 됩니다. 설정한 옵션에 따라서 Vim 에디터를 어떻게 사용할지 정할 수 있습니다. 설정 후 reboot을 하고 나면 바뀐 vim 에디터의 화면을 볼 수 있습니다. 뭔가 바뀐 모습이 보이죠? 제 라즈베리파이의 Vim 에디터 화면을 확인해 보겠습니다.

처음 Vim을 설치했을때 실행했던 모습과는 달라진 화면을 볼 수 있습니다. 이후로는 Vim 에디터를 사용하여 라즈베리파이에서 코딩 및 개발을 진행할 수 있습니다. 일반 리눅스 환경에서도 Vim 에디터의 환경설정은 동일하니 위의 방법대로 Vim 에디터를 설정하면 됩니다. 

Vim 에디터 단축키

Vim 에디터는 텍스트 기반의 에디터라서 단축키를 사용하면 매우 편리합니다. 텍스트 기반의 에디터지만 단축키를 잘 활용하면 그 어떤 에디터보다도 아주 편리하게 코딩 및 개발을 진행 할 수 있습니다.  아래는 Vim 에디터의 단축키에 대한 도표이니 잘 참고하여 활용하시기 바랍니다.

VIM 에디터 단축키

Vim 에디터에서 가장 많이 사용하는 단축키는 ‘/’, ‘:’, ‘w’, ‘q’ 입니다. / 는 문자열을 검색할때 쓰는 단축키로 ‘/main’ 이라고 하면 main이라는 문자열을 검색한다는 의미가 됩니다. 현재 라인부터 main 문자열을 검색하며 /를 반복하여 누르면 그 다음에 검색되는 문자열을 찾게 됩니다. 

‘:’는 에디터로 불러온 파일의 라인넘버를 이동할 때 씁니다. ‘:120’은 파일의 120 라인으로 이동하겠다. 라는 뜻이 되겠습니다. ‘w’는 Vim 에디터로 파일의 편집이 끝나고 저장을 할때 씁니다. w를 사용할때는 ‘:’과 조합을 해서 써야 합니다. ‘:w’를 누르고 엔터를 입력하면 편집한 내용을 바로 저장을 하게 됩니다. 

Vim 에디터를 빠져나갈때는 ‘:q’를 사용합니다. 만약 ‘:q’로도 빠져나가지 않는다면 ‘:q!’ 를 입력합니다. ‘:q’로 빠져나가지 않는 이유는 편집한 파일을 수정했으나 저장이 되지 않았을때 입니다. 이때 ‘:q!’는 저장여부와 상관없이 강제로 빠져나가겠다는 의미가 됩니다.

일단 기본적으로 이 정도 단축키만 알고 있어도 사용하는데에는 크게 지장은 없습니다. 하지만 Vim 에디터를 더 강력하고 편하게 사용하려면 위의 단축키표를 참고하여 단축키를 익히는게 좋습니다. 처음에 잘 익혀놓으면 두고두고 Vim 에디터를 활용하여 코딩 및 개발에 유용하게 사용할 수 있을 것입니다.

그럼 Enjoy Coding!

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.