최근 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

 

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

 

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

 

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

 

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

 

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

 

 

" 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  :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'

 

 

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

 

 

순서 다시 정리

 

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 입력해서 플러그인 설치