본문 바로가기

컴퓨터/Linux

vim 플러그인(ctags, taglist)




vim을 사용할 때


이것저것 플러그인을 추가할 수 있다.


그 중에서 소스를 분석하다 보면 함수를 타고 들어가야 하는 경우가 있는데


이때 편리한 플러그인은


ctags와 cscope이다.


ctags를 사용하다 보면 약간 부족한 부분이 있는데 그걸 보완하는게 cscope라고 하던데


일단 cscope는 아직까진 사용하질 않았다,.





ctags


sudo apt-get install ctags


해서 패키지 설치하고


내가 원하는 소스들의 루트 폴더(?) 로 이동 후


ctags -R ./*


명령을 날려주면 열심히 돌면서 현재 디렉토리 아래로 쭈욱 검색하여 데이터베이스를 만든다.


그리고 vim을 사용하면서 같이 사용하면 된다.


vim 에서 command 모드에서


:ta keyword    keyword와 일치하는 태그위치로 이동

:ta /keyword   keyword가 포함된 태그 검색

:tj keyword     keyword 와 일치하는 태그 목록을 출력하고 선택하여 이동

cntl+]          커서가 위치한 keyword의 정의 부분으로 이동

cntl+t          이전 위치로 이동

:tn              다음 태그로 이동

:tp              이전 태그로 이동



ps. 루트폴더에서 아래로 내려가서 ctags 명령어를 사용하면 인식이 안된다.


tags라는 DB파일에 접근을 못해서 그런데 이걸 해결하기 위해선


.vimrc에 set tags=./tags,../tags,../../tags,../../../tags,../../../../tags,../../../../../tags


를 추가해 준다.


하위 디렉토리가 더 많으면 더 많이 해 줘야 한다(?)






taglist




vim을 사용시 소스코드가 몇백줄이 되어 버리면 변수나 함수로 이동시


열나게 방향키나 기타 키를 눌러야 하는데 TagList는 옆에 리스트를 만들어 참고하고


손쉽게 이동할 수 있도록 도와주는 플러그인이다.



왼쪽 화면에 변수, 함수, 매크로 등등을 보여주며 선택시 커서를 그 위치로 이동시켜준다.


http://vim-taglist.sourceforge.net/download.html


위 주소에서 다운 후 압축을 풀면  /doc/taglist.txt와 /plugin/taglist.vim 파일이 있는데


taglist.txt는 /usr/share/vim/vim7x/doc/ 안에 넣고


taglist.vim 은 /usr/share/vim/vim7x/plugin/ 안에 넣으면 된다.


그리고 vim command에  :taglist 입력해 주면 왼쪽에 나타난다.



ps. vim 실행시 자동으로 열고 싶다면

 

.vimrc에서 let Tlist_Auto_Open=1 을 추가해 주면 된다.



왼쪽의 List로 가고 싶을 땐 ctrl + w + w







이것저것 설정이 많은 블로그 하나 링크


http://blog.naver.com/monovision/140065006594