2011/12/20

程式碼可以用tag方式: 將vim當作source insight 來使用

Trace source at vim
幾個步驟大綱:

  • Introduce
  • Install
  • Setup
  • Tag Your Codebase
  • Text Editor
  • 進階版

[Introduce ]

•Source Insight
–Good IDE
–Good at Windows platform
–Bad Overload files
•But what if you …
–Non-Windows platform (BSD, Linux, …)
–Command line interface (CLI)
–Dislike brute force search : find / grep

[Tools ]

•vim
•ctags
•taglist

[Install ]

安裝vim:

apt-get install vim

安裝ctags:

apt-get install exuberant-ctags

然後到Taglist網站去下載zip檔

• Download taglist
–Steps:
• 下載後解壓縮該檔案
# unzip taglist_45.zip
Archive: taglist_45.zip
inflating: plugin/taglist.vim
inflating: doc/taglist.txt
• 將plugin及doc複製到家目錄的”.vim”這個目錄裏,如果不存在就建一個新的”.vim”

[setup ]

在vim裏設定功能鍵F7 – 用它來開啟/關閉taglist功能

• 在/etc/vim/vimrc裏加入下面1行

map <f7> :Tlist<CR>

[Tag Your Codebase ]
最後一個步驟,到你的原始程式目錄裏輸入
會把此目錄底下的檔案, 建立tag的資訊
所以如果很多檔案就會很久, 我通常都會縮小範圍

ctags -R -h ".h.c.cpp.java"

開啟vim xxx.c按F7
你就會看見如下圖的結果

按鍵功能:
F7 : 可以 Enable / Disable ctags
Ctrl + w + w: 可以Switch window

左視窗Left side (Tag List):
Enter就會自動跳到相對應的函式或定義

右視窗Right side:
Ctrl + ] : 可以跳到游標所指function的implement 位置
Ctrl + t : 可以返回到剛剛的位置

[進階版 ]

•apt-get install cscope
•Download
–Unzip and put these plugin files to
•~ /.vim/plugin

•Modify /etc/vim/vimrc
” Open and close all the three plugins on the same time
‚nmap <F8> :TrinityToggleAll<CR>
” Open and close the srcexpl.vim separately
‚nmap <F9> :TrinityToggleSourceExplorer<CR>
ƒ
ƒ” Open and close the taglist.vim separately
„nmap <F10> :TrinityToggleTagList<CR>
…” Open and close the NERD_tree.vim separately
†nmap <F11> :TrinityToggleNERDTree<CR>
‡set mouse=nv

[參考]:

沒有留言:

張貼留言