C 개발 환경 구축하기
시작하기에 앞서
이 문서는 국민대학교 컴퓨터 학부생들에게 리눅스 기반의 C 개발환경을 설명하고자 작성되었습니다. 특히 리눅스 콘솔에서 일반 IDE 에 버금가는(?) C 개발 환경을 구축하는데 필요한 몇가지 유틸리티에 대해 자세히 설명합니다. vi 는 'VIsual display editor' 의 약자로 리눅스 환경의 프로그래머들이 처음 접하게 되는 텍스트 에디터 가운데 하나 입니다. vim (Vi iMproved) 은 vi 의 대부분 명령들을 지원하고, 프로그래머들을 위한 편리한 기능들이 추가되었습니다. 대부분의 운영체제(Linux, Solaris, Windows, MAC, Amiga, BeOS … )를 지원할 뿐만 아니라 사용자들이 자신의 취향에 맞는 개발 환경을 구축할 수 있도록 다양한 플러그인들을 제공합니다.(http://www.vim.org) 이러한 플러그인 가운데 압도적인 다운로드 수를 자랑하는 플러그인인 taglist, buffer explorer, windowManager 의 설정에 대해 알아봅니다. 또한 많은 소스코드들을 쉽게 브라우징할 수 있는 ctag 라는 리눅스 유틸리티를 소개합니다.
설치 및 설정
현재 linux.cs.kookmin.ac.kr 에는 ctags, taglist, windowManager 의 설치 및 설정이 이미 되어 있어 추가적인 설정이 필요하지 않습니다. 따라서 이부분은 학생들이 필요한 경우(개인이 사용하는 데스크탑, 노트북에서 설정할 경우) 를 위한 설명입니다.
- ctags 설치
$ yum install | grep ctags
2. Ubuntu 일 경우
$ aptget install | grep ctags
3. window 일 경우
http://sourceforge.net/projects/ctags 에서 다운로드 및 exe 파일 실행
- taglist 설치 및 설정
$ wget http://www.vim.org/scripts/download_script.php?src_id=7701
* 자신의 홈디렉토리에 .vim 디렉토리를 만든다.
$ mkdir ~/.vim
* ~/.vim 디렉토리에 다운받은 taglist 를 압축푼다.
$ unzip taglist_45.zip -d ~/.vim
* 자신의 홈디렉토리에 .vimrc 파일을 생성하고 아래 내용을 추가한다.
$ vi ~/.vimrc
" for taglist
let Tlist_Ctags_Cmd="/usr/bin/ctags"
let Tlist_Inc_Winwidth=0
let Tlist_Exit_OnlyWindow = 1 "let Tlist_Show_Menu = 1
set tags+=./tags,../tags,../../tags,../../../tags,tags
" for miniBufExplorer
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplMapCTabSwitchWindows = 1
let g:miniBufExplModSelTarget = 1
" for WindowManager
let g:winManagerWindowLayout = "FileExplorer|TagList"
let g:persistentBehaviour = 1
- taglist 와 마찬가지로 miniBufferExplorer 와 windowManager 를 ~/.vim/plugin 에 다운 받는다.
vi 에서 taglist 실행하기
- vi 에서 taglist 를 사용하기 위해서는 소스코드의 최상위 디렉토리에서 ctags 명령이선행되어야 한다.
- vi 에서 taglist 를 실행하기
- WMToggle 명령의 결과로 다음과 같은 화면으로 바뀐다.
- 모든 태그들을 제대로 이용하기 위해서는 반드시 소스코드의 최상위 디렉토리에 ctags 명령으로 생성되는 tags 파일이 생성되어야 하고 항상 lmc.c 에서 코드 브라우징이 시작되어야 한다.
taglist 명령어들
- 태깅된 단어에 해당하는 함수나 변수, 매크로로 이동하기(점프)
설명 : lmc.c 의 while(!LittleMan()) 라인의 LittleMan 함수에 커서를 위치시키고
컨트롤 키와 "]" 를 동시에 누르면 LittleMan 이 정의 되어 있는 곳으로 점프한다.
- 원래 위치로 다시 돌아오기
$ 설명 : "ctrl + ]" 로 이동했던 곳에서 원래 위치로 되돌아 온다.
- taglist 윈도우에서 이동하고자 하는 함수나 변수, 매크로로 이동하기
- filelist 윈도우에서 파일 열기
- 윈도우간 이동
-
- edit 윈도우에서 taglist 윈도우로 커서를 이동하고 싶은 경우
-
- taglist 윈도우에서 edit 윈도우로 커서를 이동하고 싶은 경우
-
- taglist 윈도우에서 filelist 윈도우로 커서를 이동하고 싶은 경우
사용자 개별 설정
자신의 홈디렉토리에 있는 .vimrc 파일에 다음과 같은 추가적인 설정을 함으로써 조금더 편한 개발 환경을 구축할 수 있습니다.
map wm :WMToggle
map ti :set noic
map tI :set ic
map t/ :noh
map tn :set nu
map tN :set nonu
실제로 사용해보면 매우 편리한 기능들입니다..
어떤 옵션들인지 한번 찾아봅시다~~
리눅스 및 vi 참고 자료
| site | 설명 |
|---|---|
| http://kldp.org/ | 리눅스 설치부터 다양한 설정에 대한 정보를 담고 있는 사이트 |
| http://www.joinc.co.kr | 리눅스에서의 개발에 대한 많은 도움말이 있는 곳 |
| http://www.vim.org | vi와 vim 에 대한 방대한 자료가 있는 곳 |
댓글 없음:
댓글 쓰기