졸업논문 세미나를 하면서 제가 맡았던 부분인 ctags + taglist 플러그인에 대한 발표자료를 거의 그대로 옮긴 것입니다. 형식을 보시면 아시겠지만 ppt를 그대로 옮겼어요. 말로 때웠던 부분들도 글로 써두고 싶지만 귀찮아진 관계로 나중에… -_-;;;;
Ctags 소개
여러 Source 파일들의 index(tag)를 생성하는 프로그램
함수, 변수, 클래스 멤버, 매크로 등을 indexing함.
생성된 tag는 여러 Text editor에서 사용가능
현재는 exuberant-ctags라는 별도 프로젝트로 분리되었음.
공식 홈페이지 : http://ctags.sourceforge.net
Ctags 구하기
Source 또는 패키지 다운로드
http://ctags.sourceforge.net
Source 압축파일
Source RPM
Fedora 7 binary RPM
윈도우즈 용 Source와 Binary
Ctags를 쓰기 위한 준비
소스 파일이 있는 디렉토리의 최상단에서 tag 생성 -> “tags” 파일이 생성됨.
VI 설정파일(.vimrc)에 tag를 찾기 위해 다음을 추가
VI + Ctags 사용 – :ts
:ts <symbol> – <symbol>이 있는 위치를 선택하여 이동, Symbol 위에서 “g + ]” 해도 동일한 효과
VI + Ctags 사용 – :ta, ctrl-t, :tags
:ta <symbol> – <symbol>을 찾아 이동, 소스파일의 찾을 symbol 위에서 ctrl-] 해도 됨
:tags – 현재 tag 스택을 보여줌.
Ctrl-t – tag 스택의 상위로(이전 위치로) 이동
taglist 소개 및 기능
vim의 소스 코드 브라우저 플러그인
Vim 창 안에서 함수, 클래스, 구조체, 열거형(enumeration), 매크로 정의 등을 보여줌
Tag 창에서 tag를 선택하면, 해당 tag의 정의로 커서가 이동
Ctags가 생성하는 tag 파일에 의존적
공식 홈페이지 : http://vim-taglist.sourceforge.net/
Taglist 다운로드
Sourceforge
http://sourceforge.net/projects/vim-taglist/download
VIM 공식 홈페이지의 스크립트
http://vim.sourceforge.net/scripts/script.php?script_id=273
Taglist를 쓰기 위한 준비
.vimrc 파일에 필수적으로 추가할 내용
.vimrc 파일에 선택적으로 추가할 내용
let Tlist_Inc_Winwidth=0
let Tlist_Exit_OnlyWindow = 1
let Tlist_Auto_Open=1
더 많은 정보는 매뉴얼(http://vim-taglist.sourceforge.net/manual.html) 참고
Taglist 화면(:TlistToggle)
Taglist 단축키
<CR> – tag의 정의로 이동
<SPACE> – tag 의 prototype을 표시
u – tag 목록을 갱신
x – tag list 창을 확대/축소
+ – 플딩 열기 (* – 모든 폴딩 열기)
– – 폴딩 접기 (= – 모든 폴딩 접기)
[[ 또는 <BACKSPACE> – 이전 파일의 시작위치로
]] 또는 <TAB> – 다음 파일의 시작위치로
q – taglist 창 닫기
<F1> – 도움말