Linux #1 - ctags

ctags

enter image description here

1. ctags 란?

프로그래밍 소스코드의 태그 (전역변수 선언, 함수 정의, 매크로 선언)들을 모아둔 **Database(tags file)**를 생성하는 명령어에요. 이 DB를 이용해서 함수 및 변수의 위치를 쉽게 찾을 수 있습니다.

ctags 를 이용하면 소스코드 내에서 함수나 변수가 선언된 곳으로 이동할 수 있기 때문에 Vim 과 같은 에디터에서 디버깅할 때 주로 사용할 수 있습니다.

2. ctags 설치

우선 데비안 계열에서 ctags를 설치해볼까요.

sudo apt-get install ctags

간단히 ctags를 사용해 DB를 만드는 기본 명령어는 아래와 같아요.

ctags 파일이름( 여러개의 파일지정 ex) ctags file1 file2 file3 … )

보통 파일을 직접 지정하기 보다는 프로젝트에서 Vim 같은 에디터와 연동해서 사용하기 때문에 프로젝트의 모든 tag DB를 생성하면 편리 합니다. 아래와 같이하면 현재 경로와 하위 모든 파일들의 tag DB를 생성하게 됩니다.

ctags -R

3. 사용

vim을 통해 생성된 tag DB를 열어볼까요.

vi tags

tag DB에서 원하는 태그로 이동하는 방법은 명령어 모드에서 :tj tag명 을 사용 하면 됩니다.

 :tj tag명

이후에 다시 원래대로 돌아가려면

 :po

vim에서는 창 분할과 연동 할 수 있는데요.

 :stj tag명

위와 같이 사용하면 가로 창 분리가 되어 원하는 tag명을 불러 올 수 있습니다.
하지만 이렇게만 사용하면 여간 불편할 수 밖에 없는데요.
그래서!
vim과 tag DB파일을 연동하면 좀 더 편리하게 사용할 수 있습니다. ctags를 vim에서 연동해서 사용하는 방법과 vim이 아직 익숙하지 않은 분들은 제가 작성한 Vim lecutre 본다면 좋을 것 같네여 :)

20230508 내용추가 - Ctags 종류가 여러개 있는데 최근까지 업데이트 잘되는 Universal ctags 추천

도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)

댓글 쓰기

0 댓글