빔슬람(Vimslam)이 되보자
Vim이란?
Vim은 서버에서 작업하는 사람들 사이에서 유용한 텍스트 편집기입니다. UNIX 시스템에서 표준 편집기였던 VI의 개선판으로 Vi Improved의 약자입니다. 그래서 대부분의 유닉스기반(리눅스를 포함한) 운영체재에 설치되어있고 작동합니다.
Vim은 다음과 같은 특징을 갖고 있습니다.
- 모드 기반 편집
Vim은 입력 모드와 명령 모드로 구분됩니다. 사용자는 명령 모드에서 편집, 삭제, 검색 등을 빠르게 할 수 있으며, 입력 모드에서는 실제 텍스트를 입력합니다. 이러한 모드 분리를 통해 효율적인 텍스트 조작이 가능합니다. - 고급 검색 및 치환 기능
Vim은 강력한 검색 기능을 제공하며, 정규 표현식을 사용한 복잡한 검색과 치환 작업을 지원합니다. 대규모 코드베이스에서 텍스트를 빠르게 찾아 수정할 수 있습니다. - 확장성과 커스터마이징
Vim은 다양한 플러그인과 설정을 통해 기능을 확장할 수 있습니다. 개발자는 자신의 필요에 맞게 키 바인딩, 테마, 플러그인을 설정하여 생산성을 높일 수 있습니다. - 빠른 성능과 효율성
Vim은 매우 가볍고 빠르며, 시스템 리소스를 적게 사용합니다. 이는 대규모 파일 작업이나 서버 환경에서 특히 유리합니다.
나만의 Vim 플러그인 설정 방법
위에서 언급한것 처럼 다양한 플러그인을 사용 할 수 있습니다. 이 방법으로 설정한 '개인적인' vim 설정 방법이므로 참고하시고 플러그인들을 추가하시길 바랍니다.
- vim-plug 설치
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- plug install
$ vim
:PlugInstall
vim을 실행하고 vim 에디터창에서 작업을 진행합니다.
- vimrc 수정
다음 명령어로 vim ~/.vimrc
파일을 수정합니다.
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'jeetsukumaran/vim-buffergator'
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
call plug#end()
" shortcut
nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :call ToggleBuffergator()<CR>
"toggle <F3> - vim-buffergator function
function! ToggleBuffergator()
if exists("t:buffergator_open") && t:buffergator_open == 1
BuffergatorClose
let t:buffergator_open = 0
else
BuffergatorOpen
let t:buffergator_open = 1
endif
endfunction
" NERDTree setting
let g:NERDTreeChDirMode=2 " 작업디렉토리 자동 동기화
플러그인설명 및 단축키
- NERDTree 폴더를 트리구조로 확인
F2
로 트리를 토글로 열고 닫을 수 있음

- vim-buffergator 열었던 파일을 확인
F3
로 버퍼목록을 토글로 열고 닫을 수 있음 (변경사항이 있는 파일의 경우+
표시로 구분됨)

- ctrl+w + lkjh or w vim기본 단축키로 분할창 이동
