■ ctags는 프로그래밍 소스 코드에서 태그(전역변수 선언, 함수 정의, 매크로 선언)들의 데이터베이스(tags 파일)를 생성하는 유닉스 명령이다. 이후 생성된 태그 데이터베이스는 vim이나 emacs같은 편집기에서 특정 심볼을 찾고자 할 때 유용하게 쓰인다.

(1) ctags 기본 설정 및 사용법
: ctags를 사용하기 전 패키지가 설치되어있는지 확인한다. (ctags --help 명령)
  없다면 http://ctags.sourceforge.net 또는 http://rpm.pbone.net 에서 받을 수 있다.

■ 태그 데이터베이스를 ctags 명령으로 생성

  ctags -R

- 명령이 실행되면 tags라는 파일이 만들어진다.
- tags 파일을 열어보면 태그명 / 파일명 / 태그정의 형식 순으로 이루어져있다.

■ vim에 적용하여 사용(vim 실행 후)
  - 단일지정 :set tags=./tags
  - 복수지정 :set tags=./tags, /work/book/utils_new/vim/linux-2.6.29/tags, /usr/include/tags
  - 해당 tags 파일의 데이터베이스 정보를 읽어 화면에 리스트를 출력하거나 바로 점핑하여 이동할 수 있다.


(2) .vimrc 파일에 tags파일 적용하여 사용
: 매번 작업파일을 열어서 적용시키는일은 너무 번거롭다. 홈디렉토리의 .vimrc파일에 설정을 저장하여 따로 적용하지 않고 사용할 수 있다.

  :set tags=./tags, /work/book/utils_new/vim/linux-2.6.29/tags, /usr/include/tags


(3) ctags 명령

- ctrl + ]           : [tag]가 정의된 위치를 나열하고 선택한 위치로 점프. 현재 위치는 스택에 push된다.
- ctrl + t            : 스택 top에 저장된 위치를 pop하고 그 위치로 점프.
- :tj [태그]        : tag jump의 약자로 입력한 태그로 점프.
- :tn                 : 리스트의 다음 위치로 점프.
- :tp                 : 리스트의 이전 위치로 점프.

by 민트앤라떼 2011. 10. 12. 17:01