최근 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')
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 입력해서 플러그인 설치
'Dev > VIM' 카테고리의 다른 글
[잡담] 웹 개발, 에디터에 대해서 (feat. xshell) (0) | 2017.06.09 |
---|---|
[VIM] 멀티 라인 편집 방법 (multi line copy command) (0) | 2013.11.07 |