1. 필요 tools: vim, ctags, cscope

2. 손볼 files: ~/.vimrc, ~/.vim/plugin/cscope_maps.vim(이건 web에서 download), /usr/bin/mkcscope.sh

2. 설치: (sudo) apt-get install vim, ctags, cscope(또는 (sudo) yum install vim, ctags, cscope)

3. setup

 3.1. ctags setup

       source code가 있는 project folder로 이동하여 다음의 command 입력

       -> ctags *(현재 directory의 모든 소스의 tags 정보 만들기)

       -> ctags -R(현재 directory의 하위 모든 소스에 대해 tags 정보 만들기. 두번째 것만 해 줘도 될 것 같다.)

       .vimrc 파일에 tags 설정

       -> vi ~/.vimrc

       -> 'set tags=SOURCE_DIR/tags' 입력, wirte&quit

 3.2. cscope setup

       /usr/bin director 밑에 mkcscope.sh파일을 만든다.('chmod 755 mkcscope.sh'로 permission change)

       mkcscope.sh 파일에 아래 내용 추가

       =============== mkcscope.sh script ================

       #!/bin/sh

       rm -rf cscope.out cscope.files

       find ./ -name '*.c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.s' -o -name '*.S' > cscope.files

       cscope -i cscope.fils

       ===================================================

       위 script는 간단하게 현재 하위 파일의 모든 파일 중에서 *.c, *.cpp, *.cc, *.h, *.s, *.S 등 cscope로 분석 가능한

       소스 파일들을 찾아서 cscope.files라는 list 파일을 만든 후에 cscope -i cscope.files를 실행해서 cscope.out database를

       생성하는 script이다.

       -> cd SOURCE_DIR

       -> mkcscope.sh

       Database 파일(cscope.out) build가 끝나면 Ctrl d 키로 빠져나옴.

 3.3. vim setup

       ~/.vimrc file에 아래 set values 추가

       ================== cscope setting ==================

       set csprg=/usr/bin/cscope

       set csto=0

       set cst

       set nocsverb

       if filereadable("./cscope.out")

       cs add cscope.out

       else

       cs add SOURCE_DIR/cscope.out

       endif

       set csverb

       =====================================================

설정 끝.

4. Usage

 4.1. vim 실행 후 source 내에서 symbol 찾기

      - 찾으려고 하는 symbol위에서 'Ctrl \,s'(Ctrl 역슬레쉬 입력하고 그냥 s)를 입력하면 symbol로 빠르게 이동하거나 리스트가 보여짐. 

      - 리스트가 보여질 경우 number key로 선택

      - Ctrl t 하면 이전 line으로 back

      - Symbol 위에서 'Ctrl-spacebar s'하면 vim 창을 분활하여 symbol로 이동(입력기에서 'Ctrl space'가 입력 모드 전환으로 설정되어 있으면 

      - 당연히 안되고 한글을 쓰려고 하니, 입력기에서 'Ctrl space'를 삭제. 한글키가 먹어줌으로 필요 없음)

 4.2. vim command line에서 찾기 명령어

      - cscope 명령어 사용(or cs로 typing)

         ex) :cs(cope) f(ind) [querytype] STRING

               * querytype

                  s: symbol

                  g: definition

                  d: function called by this function

                  c: function calling this function

                   t: text

                   f: this file

                   i: include file

      - cscope 명령 대신 scscope(or scs)를 사용하면 가로로 창이 분할되어 symbole을 찾음.

[출처] ctags, cscope 설치 및 사용법|작성자 노랑무우


===================================================================

vimrc 설정

===================================================================

"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


"tag list

"set tags =/work/android/tags

set tagbsearch

===================================================================

'<프로그래밍> > ___Unix/Linux' 카테고리의 다른 글

user 추가  (0) 2013.04.05
find 명령어 옵션과 사용  (0) 2013.04.03
vim에서 redo undo  (0) 2013.03.21
삼바 클라이언트  (0) 2013.03.11
삼바 사용자 등록  (0) 2013.03.11
Posted by JinnyDown
,