본문 바로가기
컴퓨터 관련/Linux || Unix

[Linux|Unix] 리눅스 ctags 정리 [리눅스 필수 도구]

by _BlankSpace 2017. 8. 24.

 1. ctags는 무엇인가.


흔히들, 리눅스에 정통한 사람들은 마우스를 거의 만지지 않는다는 말을 들어본 적이 있을 것이다. 그만큼, 리눅스에 익숙해진다면 키보드만으로도 다양한 작업을 할 수 있다는 말이다.


이러한 작업이 가능하도록 하기 위한 도구라고 할 수 있는 것을 소개하고자 한다.

바로, ctags이다. ctags는 무슨 일을 할까.


ctags어떤 함수는 어느 파일 몇 번째 라인에 있고, 어떤 구조체는 어느 파일 몇 번째 라인에 있는 지 바로바로 찾아갈 수 있도록 도와주는 도구라고 할 수 있다. ctags는 이러한 정보들을 데이터베이스처럼 파일을 생성한다고 생각하면 되겠다.


따라서 vi 편집기를 사용할 때는 ctags가 필수라고 할 수 있겠다. 물론, 윈도우를 쓴다면 엄청나게 강력한 비주얼 스튜디오를 통해서 함수의 정의부나 선언부를 찾아가는 데 어려움이 없을 것이다.


하지만, 리눅스라면? 굉장히 힘들다.. 일일히 어떻게 찾아갈까... 그러한 상황에 처해있다면 ctags를 꼭꼭 추천한다.


 2. ctags 설치 및 설정 방법 


다음 명령어로 ctags를 설치하자.

1
apt-get install ctags
cs



이후, 태그를 생성해야 한다. 생성 방법은 다음과 같다.

1
ctags -R
cs

-R 은 하위 디렉토리의 소스 코드까지 모두 검색하라는 뜻이다.


리눅스 커널에서도 태그 생성 기능을 제공한다. 물론, ctags가 설치되어야 한다는 전제하에..

커널 소스 코드에 대한 태그 생성 방법은 다음과 같다.

1
make tags
cs


태그 생성이 끝나면 tags 라는 파일이 생성된 것을 볼 수 있다.


 3. ctags 명령어 모음


명령 

설명

 :ta keyword

  keyword 와 일치하는 태그 위치로 이동한다.

 Ctrl + ]

  커서가 위치한 keyword의 정의로 이동한다.

 Ctrl + t

  이전 위치로 이동한다. 

 :ts keyword

  keyword와 일치하는 태그 목록을 출력하고 선택한다. 

 :tj keyword

  [:ts]와 동일하지만 목록이 한 개인 경우에는 해당 태그로 이동하고, 두 개 이상이면 목록을 출력한다. 

 :ta /keyword

  keyword가 포함된 태그를 검색한다. 

 :tn

  다음 태그로 이동한다. 

 :tp

  이전 태그로 이동한다. 

 tags

  이동한 태그 히스토리 목록을 출력한다. 

표 출처: 리눅스 커널 프로그래밍



이상으로 정리를 마치겠습니다. 

제 글이 도움이 되셨다면 공감 버튼 눌러주시면 감사하겠습니다! (광고도 한번 씩 클릭해주시면 저의 블로그 품질이 올라갑니다)

댓글