yum install cscope
./configure --with-flex
(注:若是平臺是Linux,最好帶上 --with-flex選項)./configure --enable-cscope
命令: cscope -Rbkq
c++
R
表示把全部子目錄裏的文件也創建索引b
表示cscope
不啓動自帶的用戶界面,而僅僅創建符號數據庫q
生成cscope.in.out
和cscope.po.out
文件,加快cscope
的索引速度k
在生成索引文件時,不搜索/usr/include
目錄c語言和c++語言在生成cscope文件的時候會有所不一樣,具體的區別能夠查閱網上資料數據庫
find . -name '*.c'
"cscope設置 set cscopequickfix=s-,c-,d-,i-,t-,e-
:cs f g boot
就能夠查看boot()這個函數的定義了。再輸入::cs f c boot
就能夠查看boot()函數被調用的地方了。是否是很方便呢?可是你能夠更方便的進行查找,利用快捷鍵!要使用快捷鍵,咱們還要對它進行配置。在vimrc文件裏再添加以下的語句::cs find s
---- 查找C語言符號,即查找函數名、宏、枚舉值等出現的地方:cs find g
---- 查找函數、宏、枚舉等定義的位置,相似ctags所提供的功能:cs find d
---- 查找本函數調用的函數:cs find c
---- 查找調用本函數的函數:cs find t
: ---- 查找指定的字符串:cs find e
---- 查找egrep模式,至關於egrep功能,但查找速度快多了:cs find f
---- 查找並打開文件,相似vim的find功能:cs find i
---- 查找包含本文件的文nmap s :cs find s =expand("") :cw
"查找聲明nmap g :cs find g =expand("") :cw
"查找定義nmap c :cs find c =expand("") :cw
"查找調用nmap t :cs find t =expand("") :cw
"查找指定的字符串nmap e :cs find e =expand("") :cw
"查找egrep模式,至關於egrep功能,但查找速度快多了nmap f :cs find f =expand("") :cw
"查找文件nmap i :cs find i ^=expand("")$ :cw
"查找包含本文件的文件nmap d :cs find d =expand("") :cw
"查找本函數調用的函數使用上面的快捷鍵的方法是,將光標定位到你要查找的變量,函數名或者宏定義名處。先按下
Ctrl+/
,鬆開後快速按下相應的鍵,好比按下g,表示查找該函數或者變量的定義;按下c表示查找本函數被調用的地方。功能很強大。vim
簡單解釋一下上面的快捷鍵映射函數
如:
nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>
flex
nmap
表示在vim的普通模式下,即相對於:編輯模塊和可視模式,如下是幾種模式:map
普通,可視模式及操做符等待模式:vmap
可視模式:omap
操做符等待模式:map!
插入和命令行模式:imap
插入模式:cmap
命令行模式<C-/>
表示:Ctrl+/<C-R>=expand("cword")
整體是爲了獲得:光標下的變量或函數。cword 表示:cursor word, 相似的還有:cfile表示光標所在處的文件名吧<CR><CR>
就是回車吧