레이블이 cscope인 게시물을 표시합니다. 모든 게시물 표시
레이블이 cscope인 게시물을 표시합니다. 모든 게시물 표시

2008년 11월 5일 수요일

vim, ctags, cscope사용법 정리.

VI 설정.


Home directory아래 .vimrc 파일을 아래와 같이 설정


set number :
line number를 왼쪽에 보여줌.
set cindent :
c 스타일의 indent. 예를들어 여는괄호, 닫는 괄호 인덴트가 자동화됨
set smartindent :
정확히 어떤 똑똑한 인덴트 기능이 추가되는지 파악 못함
set ts=4 :
tab key눌렀을때 스페이스 4칸 만큼 떨어짐.
set sw=4 :
자동 인덴트시 스페이스 4칸 만큼 인덴트됨.
set ruler :
오른쪽 하단에 현재 커서 위치(좌표) 표시
syntax on:
syntax highlight(coloring)기능을 켬
set tags=tags :
태그 파일 설정. 오른쪽 tags는 vi를 실행시킨 디렉토리(current directory)의 tags란 파일을 의미함.
cs add cscope.out :
cscope파일 설정
source $HOME/cscope_maps.vim
cscope단축기 설정. cscope_map.vim은 "http://cscope.sourceforge.net/cscope_maps.vim"에서 다운 받을 수 있다.


vim에서 ctag및 cscope를 사용하기 위해서 해야 하는 일들.


find . -name *.[chsCHS] -print > cscope.files

cscope -b -i cscope.files

ctags -R .



> cscope의 -b 옵션을 주면 cscope.out파일만 생성되고 종료. -b 옵션이 없으면 cscope자체가 실행됨.
> cscope의 -i 옵션으로 입력파일 이름리스트가 있는 파일을 지정할 수 있음. -i옵션 없으면 default로 cscope.files를 사용하므로 위 예제에서는 -i 옵션이 굳이 필요 하지 않음.




vim에서 cs(cscope) 명령이 동작 하지 않는다면..

:ver 를 실행하여 +cscope인지 -cscope인지 확인할 것. -cscope면 +cscope로된 vim바이너리를 구하던지 vim을 직접 compile하여야 함. vim소스를 구했다면 일반적으로 --enable-cscope 옵션을 주고 컴파일하면 됨.


vim에서 cs 사용 법.
:cs find s symbol_name


cscope_maps.vim 설정을 사용하면 Cntl-'\' 단축기를 사용할 수 있다.



0 or s : (Cntl-'\' + s)
C 심볼중 검색
1 or g : (Cntl-'\' + g)
symbol_name의 정의를 점색
2 or d: (Cntl-'\' + d)
symbol_name에 해당하는 함수에 의해 호출되는 함수를 검색
3 or c: (Cntl-'\' + c)
symbol_name에 해당하는 함수를 호출하는 함수를 검색
4 or t: (Cntl-'\' + t)
symbol_name에 해당하는 text문자열을 검색
6 or e: (Cntl-'\' + e)
확장 정규식을 사용하여 symbol_name를 검색

7 or f: (Cntl-'\' + f)
파일이름중에서 symbol_name를 검색

8 or i: (Cntl-'\' + i)
symbol_name를 include하는 파일을 검색.









vim에서 아래와 같이 help를 불러올수 있다.


:help cscope




더 많은 내용이 필요할 경우에는...
http://wiki.kldp.org/wiki.php/VimCscopeTutorial