ctags는 ls보다 옵션이 많다.
vim에서 사용하려고 ctags로 /usr/include의 태그를 만들었는데
ctags -R /usr/include
분명 /usr/include에 있는 함수인데도
vim에서 ctrl+]으로 추적도 안되고 ctrl+n으로 자동완성도 안되더군요....
(되는 것도 있고 안되는 것도 있고...)
이유를 찾아보니 gtk_window_new같은 함수들의 태그들은 전혀 만들어지지 않은 것 같더군요.
grep gtk_window_new /usr/include -R
로 찾아보니 분명 gtkwindow.h파일에 선언되어 있었습니다.
인터넷으로 자료를 검색하여 약간의 ctags 사용법을 익힌 후
ctags -x /usr/include/gtk-2.0/gtk/gtkwindow.h
로 만들어 지는 태그를 보니 역시나 gtk_window_new의 태그가 안보이더군요.
그래서 자료를 찾던중 ctags manpage에서 원인을 발견했습니다.
ctags 기본값에 프로토타입은 포함되어 있지 않다는군요.
당연히 /usr/include밑에 있는 애들은 선언(프로토타입)만 있고
구현은 거의 없으니 함수들 태그가 만들어 지지 않았던 것이었습니다.
manpage를 읽은 후
ctags -x --c-kinds=+p /usr/include/gtk-2.0/gtk/gtkwindow.h
해주니 그제서야 gtk_window_new뿐 아니라 다른 함수들도 모습을 드러내더군요.
오~ 반가운 것들...
ctags --c-kinds=+p -R /usr/include
로 만들어진 태그를 vim에서 사용하니 잘 됩니다. ^^
오늘의 교훈 : ctags는 ls보다 옵션이 많다. (출처: ctags manpage)
ctags는 ls보다 옵션이
ctags는 ls보다 옵션이 많다.
맨페이지 제작하신분 초센스?
------------------------------------------------------
[낡배밀] 낡은 리눅스 배포판을 밀어내야 한다고 생각합니다.
Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.
댓글 달기