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

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

by UltraLowTemp-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

댓글