日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

cscope使用命令

發布時間:2024/9/3 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cscope使用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cscope使用命令

在此描述您的新便箋。

1, cscope安裝

?? 1. 軟件下載:http://sourceforge.net/project/showfiles.php?group_id=4664
?? 2. 軟件安裝:?
?? 3.
???????? 1. ./configure --with-flex? (注:如果平臺是Linux,最好帶上 --with-flex選項)
???????? 2. make? (注:我沒有遇到錯誤)
???????? 3. make install (注: 直接安裝好了)

2,cscope配置

?? 1. 修改vim配置文件vimrc.你可以修改/etc/vimrc使用所有用戶都使用本配置文件,當然你還可以修改~/.vimrc
?? 2.
???????? 1. 下載配置文件:cscope_map.vim ?
???????? 2. 把cscope_map.vim里從 if has("cscope")? 到 endif里邊的內容復制到/etc/vimrc里邊去
???????? 3. 里邊的命令意思請看下邊文章

3,cscope使用

?? 1. 建立cscope使用的索引文件
?? 2.
???????? 1. 在你需要瀏覽源碼的根目錄下(如你想用cscope看linux源碼)使用下面命令:
???????? 2.
??????????????? * #: cscope -Rbkq<回車>
???????? 3. R 表示把所有子目錄里的文件也建立索引
???????? 4. b 表示cscope不啟動自帶的用戶界面,而僅僅建立符號數據庫
???????? 5. q生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
???????? 6. k在生成索引文件時,不搜索/usr/include目錄
?? 3. 在源碼根目錄下打開任意.c文件,使用如下命令:
?? 4.
???????? 1. Ctrl+]將跳到光標所在變量或函數的定義處 Ctrl+T返回
???????? 2. :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 ---- 查找包含本文件的文
???????? 3. 2的所以命令::也可以且按銉來實現:
???????? 4.
?????????????? 1. Ctrl+\ 再按 s 表示:cs find s命令
?????????????? 2. 同理實現cs find + g,d,c,t,e,f,i命令
?? 5. cscope_map.vim說明:
?? 6.
???????? 1. 有英文注釋的我就不說明了,我就說一下里邊的鍵map映射
???????? 2. 如: nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
???????? 3.
?????????????? 1. nmap 表示在vim的普通模式下,即相對于:編輯模塊和可視模式,以下是幾種模式
?????????????? 2.
???????????????????? 1.???????? :map??????????? 普通,可視模式及操作符等待模式
??????????????????????????????? :vmap?????????? 可視模式
??????????????????????????????? :omap?????????? 操作符等待模式
??????????????????????????????? :map!?????????? 插入和命令行模式
??????????????????????????????? :imap?????????? 插入模式
??????????????????????????????? :cmap?????????? 命令行模式
?????????????? 3. <C-\>表示:Ctrl+\
?????????????? 4. s表示輸入(即按:s)s
?????????????? 5. : 表示輸入':'
?????????????? 6. “cs find s"表示輸入"cs find s"也即是要輸入的命令
?????????????? 7. <C-R>=expand("cword")總體是為了得到:光標下的變量或函數。cword 表示:cursor word, 類似的還有:cfile表示光標所在處的文件名
?????????????? 8. 將下面的內容添加到~/.vimrc中, 并重啟vim:
????????????????? nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
????????????????? nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
????????????????? nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
????????????????? nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
????????????????? nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
????????????????? nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
????????????????? nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
????????????????? nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
????????????????? 當光標停在某個你要查找的詞上時, 按下<C-_>g, 就是查找該對象的定義, 其他的同理.
????????????????? 按這種組合鍵有一點技巧,按了<C-_>后要馬上按下一個鍵,否則屏幕一閃就回到nomal狀態了
????????????????? <C-_>g的按法是先按"Ctrl+Shift+-", 然后很快再按"g"
?????????????? 9.

????????????????? 使用vim是出現了下面的錯誤

????????????????? 處理 /root/.vim/plugin/cscope_map.vim 時發生錯誤:
????????????????? 第?? 42 行:
????????????????? E568: 重復的 cscope 數據庫未被加入

????????????????? ?

????????????????? 解決辦法:

????????????????? 在.vimrc中加上
????????????????? set nocscopeverbose
注意:上面這句盡量加在文件的最后面,如果不出錯就不用管了
????????????????? 原因是/etc/vimrc中已經將cscope.out讀入,在plugin中也讀了一遍,這樣就有兩遍
??????????? -----------------------------------------------------------------------------------

nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
命令中<CR>為回車,也是expand("<cword>")命令終結符。
<C-R>用于插入寄存器的內容:
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
插入寄存器內容。在輸入 CTRL-R 和第二個字符之間,'"' 會顯示出
來,以提示你需要輸入寄存器的名字。文本插入方式和直接輸入相同,
但不使用映射和縮寫。如果設置了 'textwidth'、'formatoptions' 或
'autoindent',插入的結果會受到影響。這和使用 "p" 命令和用鼠標
粘貼文本不同。
特殊寄存器:
'"' 無名寄存器,包含最近刪除或抽出的文本
'%' 當前文件名
'#' 輪換文件名
'*' 剪貼板內容 (X11: 主選擇)
'+' 剪貼板內容
'/' 最近的搜索模式
':' 最近的命令行
'.' 最近插入的文本
'-' 最近的行內 (少于一行) 刪除
*i_CTRL-R_=*
'=' 表達式寄存器;你會被提示輸入一個表達式 (見
|expression|)
注意 0x80 (十進制 128) 用于特殊鍵。例如,你可
以這樣移動光標向上:
CTRL-R ="\<Up>"
用 CTRL-R CTRL-R 可以按本義插入文本。
如果結果是 |List|,里面的項目被看作行,之間以
換行符連接。
如果結果是浮點數,自動轉化為字符串。
關于寄存器見 |registers|。{Vi 無此功能}
<C-R>=expand("<cword>")<CR>的作用就是插入光標下的字。彩色

總結

以上是生活随笔為你收集整理的cscope使用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。