본문 바로가기
!?/Linux

Vim 플러그인

by Where's my namespace 2014. 7. 1.

Vim에도 매우 유용한 플러그인들이 있다.


Vim에 대해 알면 알수록, 사용하면 사용 할 수록, 점점 더 편해진다.



처음에 비쥬얼 스튜디오만 사용하다가 리눅스를 사용하라고 해서, 처음 vi명령에서 코딩할 때는 그렇게 불편하더니, 이게 익숙해져가니


이것만큼 편한게 없다. 여하튼,


Vim에 코딩하면서 필수적이라기 보단, 있으면 코딩하기에 훨씬 편리한 플러그인들을 알아보자. 


우선 플러그인은 어떻게 설치하는가?

- Home디렉토리로 이동해서 "ls -al" 명령을 입력하면 .vim 이라는 디렉토리가 있다.
  여기에 받은 압축파일들을 설치 해주면 된다. 만약 특별하게 설치하는 방법이 있는 경우 설치 방법이 설명되어 있으니 잘 살펴봐야 한다.


플러그인은 어디서 받는가?

- 플러그인 다운로드는 http://www.vim.org/scripts/script_search_results.php?order_by=creation_date&direction=descending

  의 주소로 들어가 검색하면 나온다. 


좋은 여러 플러그인들

  • NERD_tree 

   Vim에서 해당 디렉토리에 있는 파일들을 볼 수 있다. 쉽게 생각하면 파일 브라우져 개념이다.



   위의 캡쳐와 같이 좌측 화면에 현재 디렉토리에 있는 파일이 떠있다. 저 파일을 선택하면 해당 파일로 이동한다.

   사용 방법은 ":NERDTree" 를 입력하면 된다.

   매번 저렇게 입력하는게 귀찮다면 키를 매핑해서 사용하면 편하다.


  ~/.vimrc 파일에 


nmap <F1> :NERDTreeToggle<CR> 


  과 같이 해두면 F1을 누르면 NERDTree가 켜지고, 켜진 상태라면 꺼지는 Toggle기능을 할 수 있다. 화면 간의 이동은 "ctrl+ww" 을 입력하

  면 왔다갔다 할 수 있다. 귀찮다면 그냥 F1 두번 누르면 된다. 


  • Bufexplorer

  열린 파일을 이동할 때 사용하면 유용하다. 코딩을 하다보면 여러 파일을 열어두어야 하는 경우가 있다. 예로 .h파일을 열고 과련 .cpp파일    을 열어야 하는 경우가 매번 있다. 그럴 경우 이 기능을 사용하면 좋다. 위의 NERDTree와 같이 사용하면 아주 굿.


  Bufexplorer을 사용하면 새창에서 위의 캡쳐와 같이 나오는데 여기서 선택을 하면 해당 파일로 이동한다. 사용 방법은 ":BufExplorer"을   

  입력하면 된다. 이도 마찬가지로 쉽게 사용하려면 매핑을 해서 사용하면된다.


nmap<F2> :BufExplorer<CR>


주의 : BufExplorer은 토글 기능이 없음



  • srcexpl

  소스 코드내에서 변수의 정의 부분을 보여준다. 긴 코드를 읽거나 작성 중에 이 변수의 정의가 어떤 건지 궁금할 때 간편하게 볼 수 있다.

  사용 방법은 ":SrcExpl" 을 입력하면 된다.


  위의 캡쳐와 같이 현재 커서가 있는 변수의 선언 부분을 찾아서 보여준다. 이것도 매번 입력하기 귀찮으므로 키를 매핑해두자.


nmap <F3> :SrcExplToggle<CR>


  처음 SrcExpl을 키면 tag파일을 만든다고 하는데 만든다고 하면된다.


  Srcexpl을 사용하려면 먼저 ctags가 설치되어 있어야 한다.


  Fedora의 경우,


sudo yum install ctags


  Ubuntu의 경우, 


sudo apt-get install ctags


  를 입력하고 설치하면 된다.


  • Taglist

  현재 실행 중인 파일들에 구조를 간략하게 볼 수 있다. 함수의 이름들과, 전역 변수들의 이름을 나와 코드를 조금 더 수월하게 볼 수 있고, 화면에서 커서로 간 부분에서 엔터를 입력하면 해당 부분으로 이동한다. 화면 간의 전환은 "ctrl+ww"를 입력하면 된다.



 위의 캡쳐와 같이 화면이 나온다. 실행 방법은 ":Tlist" 를 입력하면 되는데 귀찮으니 이것도 매핑을 해서 사용하자.


nmap <F4> :TlistToggle<CR>


Taglist를 사용하려면 먼저 ctags가 설치되어 있어야 사용할 수 있다. 


Fedora의 경우,


sudo yum install ctags


Ubuntu의 경우, 


sudo apt-get install ctags


를 입력하고 설치하면 된다.


  • Autoclose

   Autoclose는 이클립스를 사용하면 자동으로 괄호가 닫히는거나 ", ' 같은 것을 입력하면 짝을 맞춰 닫아주는 기능이 있다. 그런 기능을 하  

   는 것이다. 딱히 사진은 없다. 설치하면 매우 편하다.


  • Autocomplpop

  이 기능은 자동완성이라고 할 수 있다. 이전에 입력한 변수들의 경우 리스트들이 뜨면서 선택할 수 있다. 이런 기능은 이클립스에서도 있는  

  데, 매우 편리하다.




키를 몇개 입력하고 기다리면 위와 같이 선택할 수 있게 나오는데 키보드 방향키 위 아래로 선택하고 엔터를 누르면 입력이 된다. "ctrl+p"

누르면 자동입력이 된다.



  • snipMate

  예약어(main, for 등등)을 입력하고 tab키를 누르면 자동 완성이 된다. 입력 모드에서 ctrl+p+tap을 누르면 자동 완성 가능한 목록이 뜨니  

  확인해서 입력하고 tab을 누르면 된다. 예를 들어 for문 같은 경우에는 변수가 생성되고 tab을 누르면 변수 설정, 조건 설정, 코드 작성 순으

  로 이동이 된다.



위의 캡쳐는 for문을 생성했을 때의 예시다. 


snipMate에 더 추가하고 싶은 코드들이 있다면, ".vim" 폴더로 이동해서 snippets 폴더로 이동하면 "c.snippets"와 같은 파일들이 있다.

해당 파일 안에 기존에 있는 코드들이 있으니 보고 참조해서 추가하면 사용할 수 있다.

'!? > Linux' 카테고리의 다른 글

Fedora 20] Nvidia Optimus 설치  (0) 2014.08.31
Fedora 20 / Grub2 부팅 순서 설정  (0) 2014.07.05
QT  (0) 2014.06.23
X 윈도  (0) 2014.03.03
RPM  (0) 2014.03.01