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 |
이동한 태그 히스토리 목록을 출력한다. |
표 출처: 리눅스 커널 프로그래밍
이상으로 정리를 마치겠습니다.
제 글이 도움이 되셨다면 공감 버튼 눌러주시면 감사하겠습니다! (광고도 한번 씩 클릭해주시면 저의 블로그 품질이 올라갑니다)
'컴퓨터 관련 > Linux || Unix' 카테고리의 다른 글
[Linux|Unix] 리눅스 커널 소스 트리 (0) | 2017.08.28 |
---|---|
[Linux|Unix] 리눅스 커널 버전 읽는 방법 (1) | 2017.08.27 |
[Linux|Unix] 리눅스 grep 옵션 정리 (2) | 2017.08.23 |
[Linux|Unix] 리눅스 vi 환경 설정 방법 (0) | 2017.08.20 |
[Linux|Unix] 리눅스 tar, gz 압축 및 해제 방법 (2) | 2017.08.20 |
댓글