본문 바로가기
콤퓨타/Tip !!

(리눅스, MAC) vi - NERDTree, Source Explorer, Tag List

by 어니엉 2013. 6. 4.
728x90

대용량(?)의 소스 분석하ㄱㅣ 편하게 ㅋㅋ

vi에서도 Source Insight와 같이 될 수 있다

최고다 ㅜㅜ


=========================== ctags , cscope ===========================

[Ubuntu]

sudo apt-get install ctags

sudo apt-get install cscope


[MacOS]

sudo port install ctags

sudo port install cscope


------- ctags 태그 생성법 

분석하고자하는 소스폴더에 가서 

ctags -R


그럼 tags라는 파일이 생성됨


------- cscope 디비생성

분석하고자하는 소스폴더에 가서

find . \( -name '*c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.h' \) -print > cscope.files

cscope -i cscope.files


============================= 다운로드 =============================


NERDTree 다운명령어

git clone https://github.com/scrooloose/nerdtree.git


Source Explorer 다운 명령어

git clone https://github.com/wesleyche/SrcExpl.git


Tag List 다운로드 사이트

http://vim-taglist.sourceforge.net/download.html




============================== 설치 ==============================


1. NERDTree 폴더 안에 든 것들을 통채로 ~/.vim 폴더 안에 넣는다

[Sanghyun_Lee@SH-MacBaby nerdtree]$  ls

README.markdown  autoload/        doc/             lib/             nerdtree_plugin/ plugin/          syntax/


얘네들 통째로 다 넣으면 됨 !!


cp -r ~/nerdtree/* ~/.vim


2. Tag List 폴더 안에 든 것들을 통째로 ~/.vim 폴더 안에 넣는다

[Sanghyun_Lee@SH-MacBaby taglist_46]$  ls

doc/    plugin/


얘네들도 위에 방법처럼 통째로 다 넣으면 됨 !!


3. Source Explorer 폴더 안에 plugin 안에 있는 srcexpl.vim 파일을 ~/.vim/plugin 폴더 안에 넣는다



그럼, ~/.vim 폴더안의 파일 트리는 다음과 같이 된다!

/Users/Sanghyun_Lee/.vim/

▾ autoload/

    nerdtree.vim

▾ doc/

    NERD_tree.txt

    taglist.txt*

▾ lib/

  ▾ nerdtree/

      bookmark.vim

      creator.vim

      key_map.vim

      menu_controller.vim

      menu_item.vim

      opener.vim

      path.vim

      tree_dir_node.vim

      tree_file_node.vim

▾ nerdtree_plugin/

    exec_menuitem.vim

    fs_menu.vim

▾ plugin/

    NERD_tree.vim

    srcexpl.vim

    taglist.vim

▾ syntax/

    nerdtree.vim

  README.markdown



============================= vimrc 설정 =============================

vi ~/.vimrc


[Mac OS 기준임..]

(우분투이면, cscope, ctags 명령어의 위치만 찾아주면되는데, which cscope 하면  나오는 위치를 써주면된당.  ctags도 똑같이 which ctags 하면 나오는 위치를 써주믄 ㅇㅋ)


filetype on


"-----------------------------"

" cscope Configuration

"-----------------------------"

set csprg="/opt/local/bin/cscope"

set csto=0

set cst

set nocsverb


"-----------------------------"

" Tag List Configuration

"-----------------------------"


nmap <F7> :TlistToggle<CR>

let Tlist_CTags_Cmd="/opt/local/bin/ctags"

let Tlist_Inc_Winwidth = 0

let Tlist_Exit_OnlyWindow = 0

let Tlist_Auto_Open = 0

let Tlist_Use_Right_Window = 1


"-----------------------------"

" Source Explorer Configuration

"-----------------------------"


nmap <F8> :SrcExplToggle<CR>

nmap <C-H> <C-W>h

nmap <C-J> <C-W>j

nmap <C-K> <C-W>k

nmap <C-L> <C-W>l

let g:SrcExpl_winHeight = 9

let g:SrcExpl_refreshTime = 100

let g:SrcExpl_jumpKey = "<ENTER>"

let g:SrcExpl_gobackKey = "<SPACE>"

let g:SrcExpl_isUpdateTags = 0


"-----------------------------"

" NERDTree Configuration

"-----------------------------"


nmap <F9> :NERDTreeToggle<CR>

let NERDTreeWinPos = "left"



위에처럼 똑같이하고 

source ~/.vimrc


하면 무슨 syntax error 어쩌구 막 뜨는데 걍 무시하면 된다

괜히 이거 해결하려다 삽질만 엄청하게되공.. 에러떠도 잘됨 -ㅁ- 멍미



728x90

댓글