본문 바로가기
Computer & Program/잡다한 이모저모

ctags 설정 방법

by TDRemon 2009. 9. 28.
반응형
안녕하세요. TDR입니다.
이번에 OS과제를 하다보니 필수적으로 써야하는 기능이 있었는데 그게 ctags입니다.
ctags란 code file들을 상위 level에서 묶어서 관리해줌으로써 내가 필요한 함수, 구조체, 클래스, 변수 등의 선언부로 jump 할 수 있게 해주는 기능으로 이 함수의 구현을 보고 싶다면 그 함수가 선언된 code file을 직접 열어보지 않고도 손 쉽게 이동 할수 있는 기능을 말합니다.

그럼 우선 ctags 설치 방법을 알아보면... 음... 갑자기 말문이 막히는데 제가 이 정보가 과연 어디까지 사실(?)인지 알 수가 없기 때문에 그렇습니다. 그냥 제가 아는대로 찌껄이겠습니다. ( -_-  양해 please~)

UNIX에서도 되고 LINUX에서도 되는 것으로 알고는 있는데 과연 UNIX에서 되는 지는 확인해 보지 않아서 알 수는 없고 일단 ctags를 설치하기 위해서는

>yum install ctags

를 입력합니다. 그러면 install이 될 것이고 그 다음에는 관리하는 code file들이 있는 folder 위에서

>ctags -R

를 실행합니다. 그러면 tags file이 생성 될 것입니다. vi로 열어보면 관리하는 code들이 쭉~ 나올 것입니다. 그 다음이 조금 많이(?) 햇갈리는 곳인데 $HOME folder에 있는 .vimrc 파일을 수정하는 것입니다. .vimrc 파일이 어디 있는지 눈으로 보고 싶으시다면 그냥 ls 명령어가 아닌 ls -a 옵션을 줘야지 숨겨진 파일까지 다 볼 수 있습니다. 그럼 .vimrc 파일을 어떻게 수정해야 하냐면은... 그냥 첫번째 줄에 아래 코드를 추가해 줍니다.

set tags =./tags
set tags +=[ctags -R 명령어로 생긴 tags가 있는 절대 경로]

를 넣어 줍니다. 그러면 다 끝났습니다. 인제 code file로 가서 선언부를 보고 싶은 함수, 변수 등에 프롬프트(맞나? -_-;;;)를 가져다 놓고 Ctrl+] 를 누릅니다. 그러면 해당 함수, 변수 등의 선언부로 jump를 하게 됩니다. 여기서 또 다른 선언부를 보고 싶다하면 다시 Ctrl+]를 실행하면 됩니다. 그리고 전 단계로 되돌아 가고 싶으면 Ctrl+t를 누르시면 됩니다.

ctags는 stack과 같은 개념으로 jump를 하기 때문에 순차적으로 싸였다가 순차적으로 없어지게 됩니다. 써보시면 아시겠지만 정말정말 편합니다...

아, 그리고 혹시 telnet을 사용하여 server에 접속해서 하시는 분이라면 Ctrl+] 를 누루시면 telnet의 이상한(?) 환경으로 넘어가시게 되는데 이건 telnet에서의 Ctrl+] 이 escape 명령어이기 때문입니다. 그렇다면 이상한(?) 환경에서 아래와 같은 명령어를 사용하여 escape 명령어를 바꾸어 주시면 됩니다.

set escape [새로운 escape key]

그러면 [새로운 escape key]가 telnet의 escape 명령어가 되어 Ctrl+] 를 사용하 실 수 있을 겁니다. 그냥 해제하고 싶다! 하시는 분은 아래와 같이 입력하시면 됩니다.

unset escape

그러면 그냥 escape명령어가 해제됩니다.
그럼 모두 평안한 하루 되시길~ (-_-)/
반응형

'Computer & Program > 잡다한 이모저모' 카테고리의 다른 글

헝가리 표기법(Hungarian Notation)  (0) 2010.01.05
ASCII Coed  (2) 2009.11.23
[Computer]방 구석에 굴러 다니던거 정리  (0) 2009.07.29
[C++]계승  (2) 2009.07.28
[Linux]디렉토리 구조  (2) 2009.07.27

댓글