본문 바로가기
컴퓨터 & IT (Computer & IT)/VIM

[VIM] Plugin 설치 및 자주 사용하는 플러그인

by Physics 2020. 3. 19.
728x90

vim plugin을 설치하기 위한 여러 방법들이 존재하지만, 나는 "Vundle"을 이용해서 플러그인들을 설치한다. Vundle을 설치하는 방법은 아래와 같다. 

1) Vundle 설치

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

2) 플러그인 설치 방법

이후 .vimrc 파일에서 call vundle#begin()all vundle#end() 사이에 필요한 플러그인들을 기입한 후, vim의 명령모드에서 :PluginInstall을 입력하면 기입된 플러그인들이 설치된다. 

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
<사용할 플러그인을 여기에 적는다.>
...
call vundle#end()            " required

filetype plugin indent on    " required

사용하고 있는 플러그인 정리 

 

1. NERDtree

• VIM에서 많이 사용하는 파일트리 플러그인
• NERDtree Plugin 설치: Plugin `scrooloose/nerdtree` 
• 키맵 설정
   - .vimrc에 아래 코드를 입력한다: nmap <F2> <ESC>:NERDTree<CR> 
   - 이후 <F2>를 누르면 NERDTree가 켜진다. 
• NERDtree 명령어 및 단축키 
   (1) :NERDTree : 파일트리를 킴
   (2) :NERDTreeToggle : 파일트리 on/off
   (3) NERDTree 화면으로 커서가 옮겨진 경우
      - m을 누르면 파일을 추가, 삭제, 이동시킬  수 있는 메뉴가 나타남
      - q: NERDtree를 빠져나옴
   (4) Nerd tree 브라우징 단축키

단축키 및 명령어 의미
:NERDTree 파일 트리를 킨다
:NERDTreeToggle 파일트리 on/off
NERDTree 화면으로 커서가 옮겨진 경우
m 파일을 추가, 삭제, 이동시킬 수 있는 메뉴가 나타남
q NERDTree를 종료
<enter> 또는 o 디록토리 이동 또는 파일 열기
t 파일을 새로운 탭에 열어줌
T 파일을 새로운 탭에 백그라운드로 열어줌
x 현재 선택된 노드를 닫고 상위 노드로 이동
X 현재 선택된 노드를 포함하여 하위 노드를 모두 닫음
e 선택된 노드를 새 창에서 열어줌

 

2. vim-airline
1) vim 화면 하단 상태바에 파일명, 시간, 커서의 위치등이 표시됨 
   - 파일 이름, 라인, 타입, 브랜치 등의 정보들을 보여줌 
2) vim-airline의 장점
   - 많은 플러그인과 쉽게 연동가능
   - git과 연동을 해서 현재 파일의 diff 정보를 보여줄 수 있음 

3. syntastic
1) 코드 문법체크
2) vim-airline과 연동됨 - 연동될 경우, 상태바에 문법에러가 발생한 줄 번호가 출력
3) Plugin 'scrooloose/syntastic'

4. ctag

1) apt-get install ctags 
2) .vimrc: Plugin 'taglist.vim' 추가 

 


5. TagsList
1) vim에서 정의된 전역/로컬변수, 매크로 함수들을 목록 형태로 확인가능
2) ctags설치: $sudo apt-get install ctags
3) Plugin 'taglist.vim'
4) keymap: nmap <F1> <ESC>:Tlist<CR>5) 

Taglist 오른쪽으로 정렬:
   let Tlist_Use_Right_Window=1

5. Diminactive 
- 여러 파일의 소스코드를 보게 될 경우, 가로 세로 창분할을 해서 많이 사용하는데, 이때, 사용하지 않는 창에는 약간의 어둡게하여 현재 내가 어느 파일을 사용하는지를 바로 보여준다 .

Plugin ‘blueyed/vim-diminactive’
let g:diminactive_enable_focus = 1

 

6. Vim의 자동완성 플러그인 

1) YouCompleteMe (YCM)

특징 
(1) 자동완성 (C/C++/Python/Ruby/Java 등 여러 언어 지원)
(2) Clang 이용 
(3) 코드 점프 가능 

2) AutoComplPop 

https://www.youtube.com/watch?v=x8uleL9j5lY&list=LL  
1. junegunn/fzf 
- powerful plugin for binding
key binding examples 
(1) nmap // :BLines!<CR>  
   - buffer lines   
   - highlight words in real time 
(2) nmap ?? :Rg!<CR> 
   - Riffer Grap 
   - 

 


Reference: 
[1] https://blog.b1ue.sh/vim-ide/
[2] https://blog.naver.com/nfwscho/220684633099
[3] https://fsd-jinss.tistory.com/135
[4] www.youtube.com/watch?v=oLvFt-UJ7UI    
[5] https://www.youtube.com/watch?v=cTBgtN-s2Zw  
[6] https://www.youtube.com/watch?v=XA2WjJbmmoM  

728x90

댓글