출처 : http://cafe985.daum.net/_c21_/bbs_search_read?grpid=ZmCn&fldid=FIHH&contentval=00025zzzzzzzzzzzzzzzzzzzzzzzzz&nenc=&fenc=&q=gstreamer&nil_profile=cafetop&nil_menu=sch_updw
vi(vim)을 source insight 처럼 사용하기
준비물
vim 6.1 이상 (fedora core 에 있는 vim 그대로 사용해도 무방)
ctags (/usr/bin/ctags) (fedora core5 에 있는 것 그대로 사용해도 무방)
cscope (/usr/bin/csope) (fedora core5 에 있는 것 그대로 사용해도 무방)
taglist (vim 플러그인입니다. http://vim-taglist.sourceforge.net/)
1. ctags 설정
ansi c header 파일에 대한 tag를 인덱싱해 두기 위해
$ cd /usr/include
$ ctags -R
조금 걸릴수 있으니 기다립니다.
사용하실 소스코드가 있는 디렉토리로 이동합니다.
$ cd /home/share/omap-linux
$ ctags -R
한참 기다립니다.
이제 vim에서 tag 를 사용할 수 있게 vim의 설정을 수정해 줍니다.
시스템의 모든 유저들이 동일한 tag 설정을 사용할수 있게 하기 위해서는
/etc/vimrc 파일에 아래 설정을 추가하시고
root 나 특정 유저만 해당 설정을 사용하고 싶으신 경우
$ cd ~
후에 유저 자신의 홈디렉토리의 .vimrc 파일을 수정합니다.
아래는 ctags 를 사용하기 위해 추가해주실 설정입니다.
set tags=./tags,/usr/include/tags,/home/share/omap-linux/tags (이런식으로 소스코드 디렉토리가 추가 될때마다 태그 위치를 추가해주시면 됩니다.)
사용법은 vi 에서 소스코드를 편집/분석하다가
원하는 심볼 위에 커서를 두고
ctrl + ]
해주시면 됩니다.
심볼을 따라서 분석하시다가 다시 처음으로 돌아갈때는
ctrl + t
를 눌러주세요
2. cscope 설정 (root 권한으로 작업하세요)
/usr/bin/cscope 가 있는지 확인하시고
$ cd /usr/bin
$ vi mkcscope (원하시는 스크립트명으로 파일생성)
하신 후에 아래 내용을 스크립트 파일에 입력해줍니다.
#!/bin/sh
rm -rf cscope.files cscope.files
find . \( -name '*.c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.s' -o -name '*.S' \) -print > cscope.files
cscope -i cscope.files
위와 같이 스크립트 파일을 작성 후에
$ chmod 755 /usr/bin
해줍니다.
이제 사용하실 소스코드가 있는 디렉토리로 이동합니다.
$ cd /home/share/omap-linux
$ mkcscope
스크립트 파일을 실행하면 상단에 상태 진행바가 천천히 진행됩니다.
바가 끝까지 진행하고나면
Find this C symbol:
Find this global definition:
Find functions called by this function:
등등등.....에서 커서가 깜빡이며 대기합니다.
ctrl+d 를 누르시고 빠져나옵니다.
이제 vim 에서 cscope 를 사용할 수 있게 설정합니다
아까와 마찬가지로 /etc/vimrc 혹은 사용자 디렉토리의 .vimrc 파일에 추가합니다.
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
if filereadable("./cscope.out")
cs add cscope.out
else
cs add /home/share/omap-linux/cscope.out
endif
set csverb
사용법은 vi 실행후
command mode 에서 (: 를 누르고)
: cs find s 심볼이름
위와 같이 사용하시면 됩니다.
cs 사용 법은 command mode 에서
:cs 엔터
해주시면 간단한 사용법을 알 수 있습니다.
3. vim 에서 마우스 사용하기
키보드만 이용해서 소스 수정하기 다소 불편한 면이 있습니다.
vim 에서는 마우스를 지원합니다.
아까와 같이 /etc/vimrc 혹은 ~/.vimrc 를 수정합니다.
set mouse=a
한줄만 추가해주시고 vim 을 다시 실행하시면 마우스 동작을 인식합니다.
(원하는 곳에 커서를 옮긴다던지 소스코드 스크롤을 한다던지 혹은 ctags 와 연동하여 심볼 탐색을 하는등)
4. vim 에서 심볼 목록 한눈에(?) 보기
소스인사이트 처럼 옆에 taglist 가 나오길 원하시는 분들을 위해
vim 에서 사용가능한 플러그인이 taglist 입니다.
사용자의 홈디렉토리로 이동합니다.
$ cd ~
$ mkdir .vim
그리고 받아온 taglist44.zip 파일을 .vim 에 옮깁니다.
그리고 압축을 풉니다.
$ unzip taglist44.zip
그럼 .vim 디렉토리 밑에 doc 과 plugin 디렉토리가 생깁니다.
설치가 완료 되었습니다.
vim 을 실행하시고
소스코드를 연 상태에서 command mode 에서
: Tlist
라고 입력해줍니다.
'리눅스' 카테고리의 다른 글
리눅스/mount(마운트) (0) | 2010.11.19 |
---|---|
리눅스/대용량 파일 시스템 포멧(Format) (0) | 2010.11.04 |
리눅스/네트워크 대역폭 제한 - 트래픽 셰이핑(Traffic Shaping) (0) | 2010.04.14 |
리눅스/NFS 설치하기 (0) | 2010.01.07 |
리눅스/압축 tar (0) | 2010.01.06 |