把emacs变成类似sourceinsight代码浏览器
所需软件:
cscope-15.5.tar.gz http://sourceforge.net/projects/cscope
ecb-2.32.tar.gz http://sourceforge.net/projects/ecb
但是对于一般安装的GNU emacs来说还需要三个额外的包支持即eieio, semantic, speedbar
http://sourceforge.net/projects/cedet
有这三个包的下载
我用的是
eieio-0.17.tar.gz
semantic-1.4.4.tar.gz
speedbar-0.14beta4.tar.gz
安装ecb和三个支持包:
#cd /usr/share/emacs/site-lisp
#tar zxfv ecb-2.32.tar.gz
#tar zxfv eieio-0.17.tar.gz
#tar zxfv semantic-1.4.4.tar.gz
#tar zxfv speedbar-0.14beta4.tar.gz
做四个连接
ln -s ecb-2.32 ecb
ln -s eieio-0.17 eieio
ln -s semantic-1.4.4 semantic
ln -s speedbar-0.14beta4 speedbar
然后修改
site-start.el文件(有些系统如ubuntu,site-start.el文件在/etc/emacs目录下)
添加以下五行
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/eieio")))
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/semantic")))
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/speedbar")))
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/ecb")))
(require 'ecb)
重新启动一下emacs
M-x ecb-activate
看看出现了什么
cscope安装更为简单反正我就是
$tar zxfv cscope-15.5.tar.gz
$cd cscope-15.5
$./configure
$make
#make install
然后把contrib/xcscope/目录下的cscope-indexer复制到PATH目录比如/usr/local/bin
然后把xcscope.el复制到
/usr/share/emacs/site-lisp
修改/usr/share/emacs/site-lisp/site-start.el
添加
(require 'xcscope)
重新启动emacs 并且打开一个C文件看看有什么变化?
上述的两个软件的使用说明看看他们自带的文档,非常清楚
ECB 操作键
以下是一些简单的键绑定,更多信息可以在 ecb-minor-mode 文档中查找(C-h a ecb-minor-mode )。
首先列出的是一些基本键映射前缀,即一些具体的命令键是由此基础上添加:
key | binding |
C-c | |
C-c . | |
C-c . f | |
C-c . g | 跳转类( goto ) |
C-c . l | 布局类( layout ) |
C-c . m | 窗口最大化类(maximize) |
(1) 跳转类命令( goto, 前缀: C-c . g )
key | 跳转位置 |
C-c . g 1 | 编辑区1 |
C-c . g 2 | 编辑区2 |
C-c . g a | analyse窗口 |
C-c . g b | speedbar窗口 |
C-c . g c | compilation窗口 |
C-c . g d | directories窗口 |
C-c . g h | history窗口 |
C-c . g l | 上次编辑 |
C-c . g m | methods窗口 |
C-c . g s | sources窗口 |
(2)布局类( layout, 前缀 C-c . l )
key | 操作 |
C-c . l c | 更改布局 |
C-c . l r | 重新布局 |
C-c . l t | 布局锁定开关 |
C-c . l w | 锁定可见的ECB窗口 |
(3)窗口最大化类( maximize, 前缀 C-c . m )
key | 操作窗口 |
C-c . m a | analyse窗口 |
C-c . m b | speedbar窗口 |
C-c . m d | directories窗口 |
C-c . m h | history窗口 |
C-c . m m | methods窗口 |
C-c . m s | sources窗口 |
http://caobeixingqiu.is-programmer.com/posts/6656.html