독도 광고 모금 캠페인

Search Results for 'ctags'


2 POSTS

  1. 2008/05/25 ctags 활용법 (Vim에서 tag explorer 설치)
  2. 2008/05/20 telnet 상에서 ctags 사용하기

ctags 활용법 (Vim에서 tag explorer 설치)

Posted 2008/05/25 09:47 by Joo
언젠가 누군가가 Vim에 Project List 같은 것을 쓰고 있는 보고서..
정말 저의 지식이 좁구나.. 라는 생각을 했습니다.
그러다가 이번에 그것을 사용해보고자 검색을 하고서는 더 열심히 노력해야겠다는 생각을 하게 되었습니다.
왜냐하면.. 정말 너무나 많은 자료들이 있었기 때문입니다. 벌써부터 많은 사람들이 이것에 대해 연구했고, 이를 다양하게 활용하고 있었습니다.
그래서 얻은 내용을 정리할 겸 Vim의 plugin 사용법과 ctags, tag explorer사용법등을 적어봅니다.

1. Vim의 plugin을 설치하는 방법
:echo $VIMRUNTIME
을 통해 알수있는 (제 경우는 /usr/share/vim/vim70) 경로의 plugin 디렉토리에 http://www.vim.org를 통해 얻을 수 있는 플러그인들을 복사해 넣는 것입니다.
또한 ~/.vim/plugin에 넣어도 됩니다.

2. ctags
ctags는 c의 소스를 분석하여 각 function, define된 keyword등을 인덱스로 만들어주는 프로그램입니다. (제가 사용하는 MacOSX는 freebsd기반인데 굉장히 옛버전의 ctags를 기본으로 가지고 있었습니다. 그래서 http://ctags.sourceforge.net/에서 다운로드 받은 소스를 컴파일해서 사용했습니다. Ubuntu에서는 굳이 최신버전을 설치할 필요는 없지만 간단하게 sudo apt-get install ctags를 통해 설치할 수 있습니다.)
> ctags -R
명령을 통해 하위디렉토리까지의 모든 파일의 인덱스를 만들 수 있습니다.
~/.vimrc 에
set ctags=./tags,../ctags,../../ctags
를 설정해두면 편하게 사용할 수 있습니다. 그렇지만 아무래도... 대규모의 프로젝트를 관리하기에는 조금 무리가 있는 방법인 듯합니다.
할때마다 바꿔주는 방법도 있겠죠.


3. Tag Explorer
Tag Explorer 플러그인(tagexplorer.vim)을 설치하고 ~/.vimrc에 다음의 내용을 추가합니다.
let TE_Include_File_Pattern='.*\.c$\|.*\.h$'
패턴은 정규표현식으로 더 추가할 수 있습니다.
더 자세한 사항은 http://www.vim.org/scripts/script.php?script_id=483 에 정리되어 있습니다.

최근에 Emacs에 대한 관심이 부쩍 많아지고 있는데...
ctags를 Emacs에서 활용하는 방법도 찾아보아야 겠습니다. 더불어 Emacs활용법도.. :)

크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : ctags, TAG Explorer, vim

telnet 상에서 ctags 사용하기

Posted 2008/05/20 16:27 by Joo
ctags는 shell 상에서 vi로 c 코딩 및 분석을 할 때 유용한 툴입니다.

사용하는 방법은
> ctags -R ./* project.ctags
와 같이 shell에서 각 디렉토리에 project.ctags라는 인덱스 파일을 생성합니다.
(아무것도 쓰지않고 -R 옵션만 주면 현재의 디렉토리 하위에 ctags 파일을 생성합니다.)

vi 환경에서
:set ctags=./tags,../tags
와 같이 ctags 인덱스 파일을 지정하면 됩니다. 절대경로, 상대경로 모두 지정가능

function의 definition으로 이동하는 것은 Ctrl + ],
다시 돌아오는 것은 Ctrl + t 입니다.

그런데 문제가 있습니다.
telnet에서 Ctrl + ] 를 escape 문자로 지정해놓았기 때문에
Ctrl + ] 을 누르는 순간
telnet > 의 shell이 떨어집니다.

이것은 escape문자를 변경하거나 escape를 쓰지 못하게 함으로 해결할 수 있습니다.

1. escape 문자를 변경
> telnet -e ^_
등으로 escape문자를 변경합니다. alias를 사용하면 편리하게 사용할 수 있습니다.
또는 esc 명령을 사용합니다.
telnet > esc

2. escape문자를 사용하지 못하게 합니다.
> telnet -E
-E 옵션은 escape를 사용하지 못하게 합니다.


크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : ctags, Telnet