코딩을 하는 경우 컴파일러 및 IDE환경에서 제공해주는 에디터가 마음에 들지 않아서 별도의 에디터를 사용하게 된다. 아마도 자주사용하는 에디터들은 source insight..ultraeditor..등이 있지 않을까 싶다.. sourceinsight의 경우 함수를 call 하는 부분과 함수의 정의 및 선언을 찾아 주는 기능이 있어서 많은 사람들이 이용하고 있는 것으로 보인다. 소스 인사이트는 유료인관계로 사용하기가 꺼려져서 같은 기능을 windos 환경에서 제공해 주는 툴이 없는가 살펴보았더니 gvim을 이용하면 된다는 사실을 알았다. 역시 최고의 에디터라는 수식어가 괜히 있는거 같지는 않다. 물론 gvim 독자적으로 되는건 아니고 별도의 여러 툴(?) - 조그만 실행 파일 들이 필요하다. 설치 과정이 첨음해 보는 사람에게는 복잡하게 보이며 인터넷상에 여러가지 설며이 있지만 windows 환경에서 cygwin을 사용하지 않는 환경상에대해서는 설명이 그다지 없는 듯 함으로 여기에 정리하여 본다.


1. gvim 다운로드 및 설치
http://www.vim.org/download.php 에서 PC: MS-DOS and MS-Windows 를 선택하고 Self-installing executable 인 gvim72.exe 를 다운 받는다. (버전은 시간이 지나면 변경되겠지만 self-installing executable 버전으로 받으면 된다. 이게 설치가 가장 편한 듯 하다)

2. vimrc 파일의 수정
각자의 입맛에 맞게 syntax별 색깔및 배경 화면등 여러가지 설정들을 이 파일을 조작함으로써 설정할 수 있다. 일반적으로 설치가 되었다면 C:\Program Files\Vim 폴더에 _vimrc파일이 있을 것이다. _vimrc 파일을 수정하는 방법은 인터넷에 많이 나와 있다.

현재 글을 작성하기 위하여 간단히 작성한 _vimrc 파일.

3. c-tag
는 함수의 바디를 찾거나 변수의 정의 를 찾을 때 사용된다.
http://ctags.sourceforge.net/ 에서 환경에 따라서 받으면 된다. windows를 사용하는 경우에는 Source and binary for Windows 98/NT/2000/XP 버전으로 받으면 되겠다.
사용자 삽입 이미지
꼬리표 파일 만들기를 실행 시키면 해당 파일의 tag가 만들어 진다. 정상적이라면 아래 그림 처럼 나온다.
사용자 삽입 이미지
해당 파일에 존재하는 함수 또는 변수에 커서를 위치 시키고 ctrl+] 를 누르면 함수 바디 및 변수의 선언 부분으로 이동한다. ctrl+t 를 누르면 이전 위치(ctrl+]을 눌렀던 위치 )로 이동한다. 꼬리표 파일 만들기는 해당 함수나 변수를 찾지 못하는 경우에만 간간히 실행 시켜 주면 되고 매번 실행할 필요는 없다.

4. cscope

windows용 cscope static 파일은  http://iamphet.nm.ru/cscope/index.html 에서 다운받을 수 있다.  sourceforget에도 있는 듯 하지만 소스 형태로 제공되어서 컴파일해서 사용하기는 귀찮으니까. 저기서 받도록 하자.

압축을 풀고나면 cscope.exe , sort.exe 2개의 파일이 존재 한다.
exe를 어디에서도 사용할 수 있어야 함으로 적당한 폴더에 복사해주고 나서 Path를 설정하여 준다. (여기서는 C:\Program Files\Vim\vim72에 복사한 후 C:\Program Files\Vim\vim72를 Path추가하였다, Path설정은 내 컴퓨터->속성->고급->환경변수->시스템 변수에서 Path를 편집해 주면 된다)

일단 cscope를 설치하고 별도로  find tool을 설치 해 주어야 한다. cscope+find가 하나의 기능을 하는 것이다.(http://gnuwin32.sourceforge.net/packages/findutils.htm 여기서 받았던거 같다)

http://code.google.com/p/cscope-win32/ 쩝.. windows7에서 cscope가 잘안될때..
그 동안 잘 사용했는데.. 다시 win7다시 설치 하니 안도네..헐;;;;

5. 사용하기...
사용자 삽입 이미지
c코드가 있는 곳에서 cscope -b -R 를 실행시면 cscope.out 파일이 만들어진다. 즉 소스 코드의 루트 디렉토리에서 csocpe -b -R을 실행시키면 된다. vimrc 파일을 편집해서 vim이 열릴때 마다 cscope를 수행 시킬 수 있게지만 프로젝트가 규모가 좀 된다면 필요한 경우에만 cscope파일을 다시 만드는게 좋을 듯 하다. 여기서는 한글이 들어간 경로명이 되었는데.. 웬간하면 한글이 들어가지 않도록 하자. 다른 문제가 나타날 수 있다.

vim에서..cs add cscope.out 를 입력시킨다.  //cscope.out 파일이 cs와 연결된다.
vimrc를 편집해서 cscope.out을 자동으로 설정하게 하면 괜찮겠지만. 잘 모르는 관계로 path...
사용자 삽입 이미지
DB가 제대로 연결되었는지를 보려면 cs show를 입력하면 된다. 아마도 아래 그림과 같이 보일 것이다.
사용자 삽입 이미지

cs find e BubbleSort 를 수행 시켰을때의 결과다. 1숫자를 누르고 enter를 치면 해당 라인으로 화면이 이동된다.
사용자 삽입 이미지

cs find c BubbleSort : 함수의 정의가 있는 곳으로 이동한다.

gvim에서 :cs를 입력한 경우 아래 그림과 같이 나온다. find 명령어를 사용하기 위해서 findutil 툴을 설치 한 것이다. 사용방법은 아래 그림 에서 다 가르쳐 주고 있다.

사용자 삽입 이미지
자주 사용하는 것은 아래 3가지 정도가 아닐까 싶다.
-f : 파일 찾기
-e: 일치하는 문자열을 포함하는 경우 다 찾기
-c: 정의 찾기(함수 바디)

ctag+find+cs+gvim의 조합으로 sourceinsight못지 않은 강력한 editor를 얻을 수 있다.

6. plugin
또한 gvim의 plugin을 사용하다면 프로젝트 창처럼 사용할 수도 있다.
가끔 사용하는 것으로 taglist가 있다. 보통의 plugin은 2개의 파일로 구성되는데.
C:\Program Files\Vim\vim72\plugin 에 taglist.vim 를 복사.
C:\Program Files\Vim\vim72\doc에 taglist.txt를 복사.
복사 하고 나서 vim 다시 실행(?) 실행하고 나서 :Tlist를 사용하면 아래와 같은 화면을 볼 수 있다.
사용자 삽입 이미지
http://sourceforge.net/projects/vim-taglist/files/에서 taglist는 다운 받을 수 있다.

plugin을 사용하다면 더욱 더 자신에게 맞는 에디터를 얻을 수 있을 것이다.

이런 번거러운 설정없이..gvim에 default로 들어 갔으면 하는 바람이.... 매우 귀찮으니..

Posted by 앙낭
,