본문 바로가기

Programming/Linux Tip

vi 에서 cscope 편하게 호출하도록 setting 하기

<< vi 기본 디렉토리 설명 >>


// 내 계정 적용 수정사항

vi ~/.vimrc

// 전체 적용 수정사항

vi /etc/vim/vimrc


// 전체 적용 플러그 인

/usr/share/vim/vim73/plugin/cscope_maps.vim

// 내 계정 적용 플러그인

~/.vim/plugin






cscope_maps.vim 를 다운받아서

/usr/share/vim/vim73/plugin/cscope_maps.vim

에 저장


vi 실행하면 아래와 같은 키를 쓸 수 있다.


Ctrl+\, s [or 0] : cs find s     C 심볼 검색
Ctrl+\, g [or 1] : cs find g         전역 선언만 검색
Ctrl+\, d [or 2] : cs find d         이 함수에 의해 호출되는 함수들 검색
Ctrl+\, c [or 3] : cs find c         이 함수를 호출하는 함수들 검색
Ctrl+\, t [or 4] : cs find t 텍스트 문자열을 검색
Ctrl+\, e [or 5] : cs find e         확장 정규식을 사용하여 검색
Ctrl+\, f [or 6] : cs find f 파일 이름을 검색
Ctrl+\, i [or 7] : cs find i 이 파일을 인클루드하는 파일 검색


Ctrl+@, s : 상하분리 창에서 검색결과 보여줌
Ctrl+@+@, s : 좌우분리 창에서 검색결과 보여줌


vi 실행시 다음 애러 발생한다면...

E568: duplicate cscope database not added


vimrc 에 이미 cscope db 를 load 하게 해 두었는데 plugin 에서 중복 load 해서 발생하는 문제이다.


vimrc 에 다음 문장을 지운다.

set tags+=/usr/src/linux/tags

set tags+=/root/Downloads/Project/Pintos/pintos_save_dir/pintos_dongil/tags

set complete


set csprg=/usr/bin/cscope

set csto=0

set cst

set nocsverb

if filereadable("./cscope.out")

        cs add cscope.out

else

        cs add /usr/src/linux/cscope.out

endif

set csverb