일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- NC 다이노스
- 데이터베이스
- 인공지능
- Linux
- 프로야구
- 문파문파
- 디자인 패턴
- 국정원
- 문파문파 공략
- 리뷰
- ubuntu 12.04
- 애플
- Tizen
- arm
- 타이젠
- 해외직구
- 블로그
- 태그를 입력해 주세요.
- NC다이노스
- 조세피난처
- 김경문
- 뉴스타파
- python
- mysql
- 안드로이드
- 손민한
- ubuntu
- 우분투
- 단통법
- 야구
- Today
- Total
꿈꾸는 사람.
VIM 플러그인 내려받고 환경 설정하기. 본문
방대한 커널 소스를 분석하기 위해 vim과 플러그인들을 이용하여 통합 분석 환경울 구성한다.
1. 플러그인 내려받기.
분석 환경에 사용할 플러그인은 NERD Tree, Source Explorer, Tag List의 3개이다.
Plugin | 버전 | 설명 |
Tag List |
| 소스에 정의된 변수와 함수 등 심벌 정보를 제공한다. |
Source Explorer | 5.2 | tags를 기반으로 소스코드를 탐색기로 정의된 함수와 타입을 제공한다. 윈도우즈용 Source Insight의 Context Window와 유사한 기능을 제공한다. |
NERD Tree | 4.2 | 파일 시스템을 탐색할 수 있는데 파일과 디렉토리를 열고 관리할 수 있다. 윈도우즈용 Source Insight의 Project Window의 파일 브라우저와 유사한 기능을 제공한다. |
플러그인을 내려받으려면 아래 순서대로 진행한다.
(1) www.vim.org 사이트 접속 후 최상위 화면에서 Scripts 메뉴 선택
(2) Browser all 메뉴 선택
(3) keywords 검색창에서 플러그인 검색
(4) 검색한 플로그인 선택 후 내려 받기.
2. 플러그인들을 ~/.vim 디렉터리로 복사
$ mkdir .vim $ cp ~/Download/SrcExpl-5.2.zip .vim $ cp ~/Download/nerdtree.zip .vim $ cp ~/Download/taglist_46.zip .vim $ cd .vim ~/.vim$ ls SrcExpl-5.2.zip nerdtree.zip taglist_46.zip ~/.vim$ unzip SrcExpl-5.2.zip Archive: SrcExpl-5.2.zip creating: SrcExpl/ ... ~/.vim$ unzip nerdtree.zip Archive: nerdtree.zip creating: doc/ ... ~/.vim$ unzip taglist_46.zip Archive: taglist_46.zip inflating: plugin/taglist.vim ... ~/.vim$ cd SrcExpl/plugin/ ~/.vim/SrcExpl/plugin$ ls srcexpl.vim ~/.vim/SrcExpl/plugin$ cp srcexpl.vim ../../plugin/ |
3. .vimrc환경 설정
추가할 환경은 플러그인 환경과 ctags, cscope 데이터베이스 연동 환경의 두 가지이다.
(1) ctags, cscope 데이터베이스 연동 환경 설정.
설정 환경 | .vimrc에 추가할 코드 |
ctags 환경 | set tags=/home/hyunmu/android/kernel/linux_org/linux-2.6.30.4/tags |
cscope 환경 | set csprg=/usr/bin/cscope "cscope 실행 파일 위치 set csto=0 "cscope DB search first set cst "cscope DB tag DB search set nocsverb "verbose off cs add /home/hyunmu/android/kernel/linux_org/linux-2.6.30.4/cscope.out /home/hyunmu/android/kernel/linux_org/linux-2.6.30.4 |
(2) Tag list 환경 설정.
코드 | 의미 |
filetype on |
|
nmap <F7> :TlistToggle<CR> | F7 키로 Tag list 창을 토글. |
let Tlist_Ctags_Cmd = "/usr/bin/ctags" let Tlist_Inc_Winwidth = 0 let Tlist_Exit_OnlyWindow = 0 let Tlist_Auto_Open = 0 let Tlist_Use_Right_Window = 1 | Tag list 창은 ctags 프로그램을 사용하고 오른쪽에 생성되도록 한다. |
(3) Source Explorer 환경 설정.
코드 |
의미 |
nmap <F8> :SrcExplToggle<CR> |
F8 키로 Source Explorer 창을 토글. |
nmap <C-H> <C-W>h nmap <C-J> <C-W>j nmap <C-K> <C-W>k nmap <C-L> <C-W>l |
창 이동 명령. h: 왼쪽, ㅣ: 오른쪽 j: 아래쪽, k: 위쪽 |
let g:SrcExpl_winHeight = 8 let g:SrcExpl_refreshTime = 100 let g:SrcExpl_jumpKey = "<ENTER>" let g:SrcExpl_gobackKey = "<SPACE>" let g:SrcExpl_isUpdateTags = 0 |
ENTER, SPACE 키로 소스 전진/후진 탐색 정의. |
(4) NERD tree 환경 설정
코드 |
의미 |
let NERDTreeWinPos = "left" nmap <F9> :NERDTreeToggle<CR> |
창이 왼쪽에 생성되게 하고 F9 키로 토글함. |
이로써 환경설정은 완료하였고 이후 사용법은 다음 글에서 다룬다.
'IT > Linux' 카테고리의 다른 글
[Linux] Ubuntu 11.04를 11.10로 upgrade. (12.04 업그레이드 중간 과정) (0) | 2013.08.20 |
---|---|
[Linux] BSS란 무엇인가? (0) | 2013.07.18 |
Ubuntu 11.04에서 apt-get 실행하면 404 오류 나는 이유. (0) | 2013.07.04 |
apt-get update에서 발생하는 GPG public key 오류 해결 방법. (4) | 2013.07.04 |
리눅스 커널 소스에서 ARM 아키텍처의 ctags용 태그를 생성하는 tag.sh 스크립트 분석. (0) | 2013.06.27 |