Ctags란?

Ctags란 소스 파일에서 찾은 이름의 태그파일을 생성하는 도구입니다. 함수, 변수, 클래스 등을 인덱싱 하는데 사용할 수 있습니다. Ctags를 사용하면 vim과 같은 텍스트 편집기로 해당 함수를 빠르게 찾고 이동할 수 있습니다.

 

Ctags 설치

brew install ctags

brew를 이용해 ctags를 설치해 주도록 합니다.

 

Ctags 사용법

#현재 디렉토리와 하위 디렉토리의 모든 파일을 대상으로 tags 생성
ctags -R *

명령어 실행후 폴더에 tags파일이 생성된 것을 확인할 수 있습니다.

 

이제 vim으로 분석하고자 소스코드를 열어서 분석하고자 하는 함수위에 커서를 올려두고 'Ctrl + ]'를 누르면 함수로 이동하게 됩니다. 다시 원래있던 곳으로 돌아오기 위해선 'Ctrl + t'를 누르면 됩니다.

 

현재 ~/.config/nvim/init.vim파일에 Ctrl+] 를 F12로 매칭해서 사용되게 해놨습니다.

vi ~/.config/nvim/init.vim

#다음을 추가
" goto definition with F12
map <F12> <C-]>

 

Ctags 단축키

Tag Command 설명
Ctrl+] 함수가 정의된 위치로 이동,
Ctrl+t 이동하기 전 단계의 위치로 이동
:stj   Or   :sts 함수가 정의된 위치로 창을 수평 분할하여 이동
:tn 여러개의 함수 이름이 존재할 때 다음 함수로 점프
:tp 여러개의 함수 이름이 존재할 때 이전 함수로 점프
:tr 가장 처음에 찾았던 함수를 선택한다.
:tl 가장 마지막 함수를 선택한다.

 

 

참고

https://www.joinc.co.kr/w/Site/Development/Env/UsedCtag