본문 바로가기
컴퓨터일반

Gvim ctags 이용하기

by __observer__ 2011. 12. 3.
반응형

아시다시피 vim 에는 굉장히 다양한 plugin 들이 있으며 이 중에서 가장 유명한 plugin 중에 하나가 ctags 라고 생각 됩니다.

 

ctags 는 tag 를 생성하여 함수 instance 와 원형 간의 점프를 자유롭게 하는 프로그램이라 할 수 있습니다.

 

c tag 라길래 c 만 지원하나 했는데~ 현재 41개의 언어에 대해 지원 한다 합니다.

 

아래 주소에 지원하는 언어리스트가 나와 있습니다.

 

http://ctags.sourceforge.net/languages.html

 

지원하는 언어를 쭉~~ 훑어 보니 MATLAB 도 지원을 하네요~

 

ctags 사용을 위한 파일은 다음 주소에서 다운 받아 이용하실 수 있습니다.

 

http://ctags.sourceforge.net/

 

위 페이지에서 각 OS 에 맞는 파일을 다운로드 받으신 후에 환경변수의 path 에 등록이 된 폴더 아무데나 다운로드 받은 파일의 ctags.exe 을 넣어 주시면 됩니다.

 



 

이제 tag 를 만들고 사용만 하면 되는데

 

tag 를 만드는 방법은 매우 간단 합니다.

 

vim 에서 아래 그림의 꼬리표 만들기를 누르거나 도구 à 꼬리표 파일 만들기를 클릭하시면 됩니다.

 

 

또는 command 창에서 꼬리표를 만드시려면 파일이 있는 디렉터리에 가셔서 ctags –R 명령을 입력하시면 됩니다.

 

그럼 해당 폴더에 tags 라는 이름의 파일이 하나 만들어 집니다.

 

tags 라는 파일은 일반적으로 vim 의 working directory 에 만들어 집니다.

 

vim working directory 는 vim 에서 :pwd 라고 명령하면 아래와 같이 나오게 됩니다.

 

 

따라서 꼬리표를 만들었는데 이상하게 해당 폴더에 tags 파일이 없다면 working directory 를 잘 확인해 보시기 바랍니다.

 

파일의 위치와 working directory의 위치가 다르다면 tags 파일을 생성하고도 제대로 원하는 함수의 원형으로 점프를 못하는 경우가 있겠죠.

 

현재 편집중인 소스 파일의 폴더로 vim working directory 를 설정하려면 다음과 같은 vim 명령을 통해 가능 합니다.

 

:cd %:p:h

 

저는 위 명령이 좀 외우기 어려워서 _vimrc 파일에 다음과 같이 단축키(F4) 를 지정해 놓고 이용하고 있습니다.

 

map <F4> <ESC>:cd %:p:h<CR>

 

현재 커서아래 있는 함수 원형의 위치로 점프 하려면 Ctrl-] 를 입력하시면 됩니다.

 

이전 편집 위치로 돌아가려면 Ctrl-T, 커서 위치의 함수가 아닌 특정 tag 를 찾고 싶다면 :ta tag 를 입력 하시면 됩니다.


반응형

댓글