簡(jiǎn)介
對(duì)于瀏覽源代碼來(lái)說(shuō),在 Emacs 里面也有很多工具可用,比如自帶的 etags 就
不錯(cuò),不過(guò)功能不如 Cscope 強(qiáng)大。 Cscope 并不像 etags 那樣屬于 Emacs ,
它是一個(gè)獨(dú)立的程序。它是一個(gè)具有完全 Unix 血統(tǒng)的程序,用于幫助開發(fā)人員
瀏覽源代碼。它最初(那還是 PDP-11 的時(shí)代)是由 Bell 實(shí)驗(yàn)室開發(fā),并且多年
以來(lái)一直是 AT&T Unix 商業(yè)發(fā)行版的一部分。它已經(jīng)被用于管理超過(guò)兩千萬(wàn)行代
碼的工程。在2000年4月,多虧了 Santa Cruz Operation, Inc. (SCO) ,
Cscope 的源代碼在 BSD license 下開放了源代碼。
Cscope 的發(fā)行包里面有個(gè) xcscope.el 能很好地用于 (X)Emacs 。它處于源代
碼包的 contrib/xcscope 目錄下。該目錄下面還有一個(gè)名為 cscope-indexer
的腳本文件,用于處理源代碼并不是在一個(gè)文件夾下面的情況。
安裝和配置
首先到 Cscope 的主頁(yè) 上去下載最新的源代碼包,編譯安裝。要在 Emacs 里面
使用,首先必須把 xcscope.el 拷貝到 load-path 里面包含的目錄里面。并在
~/.emacs
里面加上 (require 'xcscope)
就可以了,或者,如果你希望在打開
c 或者 c++ 文件的時(shí)候才加載 xcsope ,可以寫:
(add-hook 'c-mode-common-hook
'(lambda ()
(require 'xcscope)))
如果源代碼全部處于同一個(gè)目錄下面,現(xiàn)在就可以使用了。否則,如果源代碼有
多層目錄,或者其他地方還有附加的源代碼,則需要 cscope-indexer 腳本。把
那個(gè)腳本拷貝到系統(tǒng) PATH 里面去(如 /usr/bin/
)。如果所有的源代碼以及子目
錄都是在同一個(gè)目錄下面的,只要執(zhí)行 C-c s I(cscope-index-files)
就可以
生成 Cscope 的數(shù)據(jù)庫(kù),接下來(lái)就可以使用了。
使用簡(jiǎn)介
默認(rèn)是的快捷鍵都是綁定到 C-c s
的前綴上面,如果嫌麻煩的話可以自己更改
快捷鍵綁定。這是默認(rèn)的用于查找的鍵綁定:
C-c s s Find symbol.
C-c s d Find global definition.
C-c s g Find global definition (alternate binding).
C-c s G Find global definition without prompting.
C-c s c Find functions calling a function.
C-c s C Find called functions (list functions called
from a function).
C-c s t Find text string.
C-c s e Find egrep pattern.
C-c s f Find a file.
C-c s i Find files #including a file.
下面是在搜索到的結(jié)果之間切換用的快捷鍵:
C-c s b Display *cscope* buffer.
C-c s B Auto display *cscope* buffer toggle.
C-c s n Next symbol.
C-c s N Next file.
C-c s p Previous symbol.
C-c s P Previous file.
C-c s u Pop mark.
更詳細(xì)的使用說(shuō)明請(qǐng)參見(jiàn) xcscope.el 文件頭部的注釋。
轉(zhuǎn)載:http://pluskid.lifegoo.com/wiki/EmacsCscope.html
posted on 2008-10-04 16:37
xuejzt 閱讀(866)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
emacs