최근 Vim 플러그인을 찾다가 한국 분이 만든(걸로 추정되는) vim 패키지 관리 플러그인을 알게되었다.


Vundle ..  등등의 여러 패키지 관리 플러그인이 있지만 vim plug는 패키지 다운로드를 할 때 병렬로 처리하기 때문에 속도가 매우 빠르다고 한다.


플러그인을 직접 설치하게되면 디렉토리 이동 압축해제 등등 .. 그 뿐만이 아니라 다른 곳의 환경을 맞추려면 .vim 전체를 복사해서 날라야되고 거기다 플러그인 별로 업데이트를 한다고 하면.. 으악


손이 참 많이가는 귀찮은 문제였지만 이젠 이걸로 끝.



만드신 분은 최준군 이라는 분이시고 깃허브(https://github.com/junegunn/vim-plug) 를 통해 영어로된 자세한 설명이 기재되어있다.


자세히 보면 다른 플러그인을 개발하신 것도 있는데, 아직 많이 써보진 않았지만 goyo.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


이후 차례대로 진행되어 ~/.vim/autoload 경로에 plug.vim 이 생성된다.





사용 방법


~/.vimrc 파일을 생성하여 다음과 같이 수정한다.



call plug#begin('~/.vim/plugged')

"이 사이에는 필요한 패키지를 입력


call plug#end()


이런 식으로 작성을 해서 저장 종료 후, 다시 vim을 열어서 :PlugInstall 을 입력하고 엔터를 치면 분할 창이 생기면서 설치가 진행된다.


패키지 검색을 위해 vimawesome.com 홈페이지를 들어가서 확인해보도록 하자.





매우 많은 종류의 패키지를 제공하고 있다.


들어가보면




이런식으로 vimPlug 설치 방법을 보여주는데


.vimrc 를 열어


call plug#begin('~/.vim/plugged')

Plug 'tpope/vim-surround'


call plug#end()



이런 식으로 입력 후 저장 종료 하고


다시 vim을 열어 :PlugInstall 을 입력하면 된다.




추가로 NERDtree 라는 플러그인 설치는 조금 다르다.

(NERDtree는 vim에서 인기가 가장 많은 필수 플러그인 중 하나로, 파일탐색기와 같은 기능을 한다.)


NERDtree 설치는 꼭 vim-plug 깃헙 페이지에 명시되어 있는 방법으로 설치를 진행하도록 하자.

(뭔진 모르겠는데 뒤에 옵션같은 것을 적어주지않으면 에러가 난다.)


Plug 'scrooloose/nerdtree', {'on' : 'NERDTreeToggle'}


airline은 vim의 테마를 바꿔주는 플러그인이다.



패키지별 설명 및 추천은 다음에 알아보도록 하고 우선은 필자의 설정을 올리도록 한다. 사실 이 글의 목적이기도 하다.


vim-plug 설치 방법을 다시금 확인.


curl -fLo ~/.vim/autoload/plug.vim --create-dirs \

    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim


" Plugins will be downloaded under the specified directory.

call plug#begin('~/.vim/plugged')


" Declare the list of plugins.

Plug 'tpope/vim-surround'

Plug 'vim-scripts/VisIncr'

Plug 'heavenshell/vim-jsdoc'


Plug 'junegunn/vim-easy-align'

Plug 'junegunn/goyo.vim'


Plug 'scrooloose/nerdtree', {'on' : 'NERDTreeToggle'}

Plug 'tpope/vim-repeat'

Plug 'kien/ctrlp.vim'


Plug 'vim-airline/vim-airline'

Plug 'vim-airline/vim-airline-themes'


Plug 'scrooloose/nerdcommenter'

" List ends here. Plugins become visible to Vim after this call.

call plug#end()


set tabstop=4                                   " The width of a TAB is set to 4.

                                        " Still it is a \t. It is just that

                                        " Vim will interpret it to be having

                                        " a width of 4.



set shiftwidth=4                        " Indents will have a width of 4


set softtabstop=4                       " Sets the number of columns for a TAB


set backspace=indent,eol,start  " allow backspacing over everything in insert mode


"set autoindent                                 " allow backspacing over everything in insert mode

"set nu


set noai nocin inde=


"set paste


syntax enable


" for vim-airline

let g:airline#extensions#enabled = 1 " turn on buffer list

let g:airline_theme='minimalist'

set laststatus=2 " turn on bottom bar


" Start interactive EasyAlign in visual mode (e.g. vipga)

xmap ga <Plug>(EasyAlign)


" Start interactive EasyAlign for a motion/text object (e.g. gaip)

nmap ga <Plug>(EasyAlign)


filetype plugin on


let mapleader=","

nmap <leader>n :NERDTreeToggle<cr>

set timeout timeoutlen=1500



let g:ctrlp_working_path_mode = 'ca'

let g:ctrlp_match_window = 'results:20'

"let g:ctrlp_user_command = 'ls -a %s'



2018/06/08 일자로 업데이트


** :set paste 설정을 해주면 복사붙여넣기가 쉬워집니다! 해제는 :set nopaste


2018/12/20 일자로 업데이트


** 자동 탭(autoindent)에 대한 처리 수정


http://vim.wikia.com/wiki/How_to_stop_auto_indenting





다음 챕터엔 플러그인 추천과 함께 사용법을 써보도록 하겠다.



순서 다시 정리


1. vim-plug 설치


curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim


2. 위 .vimrc 예시 파일 생성하기


3. vim 실행 후 :PlugInstall 입력해서 플러그인 설치