ctags 활용법 (Vim에서 tag explorer 설치)
언젠가 누군가가 Vim에 Project List 같은 것을 쓰고 있는 보고서..
정말 저의 지식이 좁구나.. 라는 생각을 했습니다.
그러다가 이번에 그것을 사용해보고자 검색을 하고서는 더 열심히 노력해야겠다는 생각을 하게 되었습니다.
왜냐하면.. 정말 너무나 많은 자료들이 있었기 때문입니다. 벌써부터 많은 사람들이 이것에 대해 연구했고, 이를 다양하게 활용하고 있었습니다.
그래서 얻은 내용을 정리할 겸 Vim의 plugin 사용법과 ctags, tag explorer사용법등을 적어봅니다.

1. Vim의 plugin을 설치하는 방법
:echo $VIMRUNTIME
을 통해 알수있는 (제 경우는 /usr/share/vim/vim70) 경로의 plugin 디렉토리에 http://www.vim.org를 통해 얻을 수 있는 플러그인들을 복사해 넣는 것입니다.
또한 ~/.vim/plugin에 넣어도 됩니다.

2. ctags
ctags는 c의 소스를 분석하여 각 function, define된 keyword등을 인덱스로 만들어주는 프로그램입니다. (제가 사용하는 MacOSX는 freebsd기반인데 굉장히 옛버전의 ctags를 기본으로 가지고 있었습니다. 그래서 http://ctags.sourceforge.net/에서 다운로드 받은 소스를 컴파일해서 사용했습니다. Ubuntu에서는 굳이 최신버전을 설치할 필요는 없지만 간단하게 sudo apt-get install ctags를 통해 설치할 수 있습니다.)
> ctags -R
명령을 통해 하위디렉토리까지의 모든 파일의 인덱스를 만들 수 있습니다.
~/.vimrc 에
set ctags=./tags,../ctags,../../ctags
를 설정해두면 편하게 사용할 수 있습니다. 그렇지만 아무래도... 대규모의 프로젝트를 관리하기에는 조금 무리가 있는 방법인 듯합니다.
할때마다 바꿔주는 방법도 있겠죠.


3. Tag Explorer
Tag Explorer 플러그인(tagexplorer.vim)을 설치하고 ~/.vimrc에 다음의 내용을 추가합니다.
let TE_Include_File_Pattern='.*\.c$\|.*\.h$'
패턴은 정규표현식으로 더 추가할 수 있습니다.
더 자세한 사항은 http://www.vim.org/scripts/script.php?script_id=483 에 정리되어 있습니다.

최근에 Emacs에 대한 관심이 부쩍 많아지고 있는데...
ctags를 Emacs에서 활용하는 방법도 찾아보아야 겠습니다. 더불어 Emacs활용법도.. :)

반응형