除了編寫程式,Vim 用來追溯程式 (trace code) 也相當好用。例如,先將游標移到程式的某個文字串,再按以下按鍵:
- '*' 往前找出此文字串 (按 n、N 繼續找)
- '#' 往後找出此文字串 (按 n、N 繼續找)
- 'gd' 將此文字串視為 local 變數,找到定義此 local 變數的地方 (如果有的話)
- '%' 找到被配的括號
- '[[' 找到函數的開頭
- ']]' 找到下一個函數的開頭
- 's': 即 Symbol,以此文字串當識別字,列出專案當中所有參考到此識別字的地方,包含定義和引用
- 'g': 即 Global,以此文字串當作 global 變數或函數的名稱,跳到專案中定義此 global 變數或函數的地方 (這個功能有另一個與 ctags 相同的快速鍵 Ctrl-])
- 'c': 即 Calls,以此文字串當函數名稱,找出所有呼叫到的此函數的函數
- 't': 即 Text,列出專案中所有出現此文字串的地方 (包含註解)
- 'e': 即 Egrep,以此文字串當 regular expression,用 egrep 方式來搜尋
- 'f': 即 File,以此文字串當檔案名稱,開啟此檔案
- 'i': 即 Includes,以此文字串當 header 檔名稱,列出所有 include 此檔案的檔案
- 'd': 即 calleD,以此文字串當函數名稱,列出此函數所呼叫到的函數
- :cscope find symbol foo
- :cs f s foo
sudo apt-get install cscope建立及更新軟體專案 cscope 資料庫的簡單方法如下 (其他更複雜的用法請參考 http://cscope.sourceforge.net):
mkdir -p ~/.vim/plugin
cd ~/.vim/plugin
wget http://cscope.sourceforge.net/cscope_maps.vim
cd PROJECT
cscope -bR
沒有留言:
張貼留言