標籤:http 使用 os strong 檔案 資料 for 代碼
安裝
- 在CentOS下,我們可以直接使用yum命令進行安裝
整體步驟
- 安裝cscope
- 配置vim設定檔
- 產生cscope.out檔案
- 使用cscope命令進行操作
cscope安裝
- 在cscope首頁進行下載: http://cscope.sourceforge.net
- cent os的使用者可以通過yum命令進行安裝
- 安裝時需要使用 configure配置項
./configure --with-flex
(註:如果平台是Linux,最好帶上 --with-flex選項)
- 此外:要在vim中支援cscope,那麼在編譯vim前還需要配置vim的configure檔案,加入一個選項。
./configure --enable-cscope
產生cscope檔案步驟
尋找一個目錄下指定類型的檔案
- 尋找所有的c檔案:
find . -name ‘*.c‘
- 別的類型,以此類推
配置vim的設定檔
"cscope設定set cscopequickfix=s-,c-,d-,i-,t-,e-
- 文中有提到把路徑改成你自己的原始碼路徑。這個如何設定的,需要再確認
- cscopequickfix是表示與quickfix相關聯的配置
cscope操作命令
: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
---- 尋找包含本檔案的文
定義cscope的快速鍵
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
"尋找本函數調用的函數
此外網上還有一個cscope_map.vim 可以下載,下載後,我們可以把cscope_map.vim裡從 if has("cscope") 到 endif裡邊的內容複寫到/etc/vimrc裡邊去
使用上面的快速鍵的方法是,將游標定位到你要尋找的變數,函數名或者宏定義名處。先按下Ctrl+/
,鬆開後快速按下相應的鍵,比如按下g,表示尋找該函數或者變數的定義;按下c表示尋找本函數被調用的地方。功能很強大。
簡單解釋一下上面的快速鍵映射
如: nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap
表示在vim的普通模式下,即相對於:編輯模組和可視模式,以下是幾種模式
:map
普通,可視模式及操作符等待模式
:vmap
可視模式
:omap
操作符等待模式
:map!
插入和命令列模式
:imap
插入模式
:cmap
命令列模式
<C-/>
表示:Ctrl+/
<C-R>=expand("cword")
總體是為了得到:游標下的變數或函數。cword 表示:cursor word, 類似的還有:cfile表示游標所在處的檔案名稱吧
<CR><CR>
就是斷行符號吧