转自:http://joerong666.iteye.com/blog/1813876

By:             潘云登

Date:          2009-7-9

Email:         intrepyd@gmail.com

Homepage:http://blog.csdn.net/intrepyd

Copyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。

对于商业目的下对本文的任何行为需经作者同意。


写在前面

ECB代表的是“Emacs Code Browser”,顾名思义,用以浏览代码。ECB提供了四个窗口:

²         Directories窗口:显示目录结构;

²         Sources窗口:显示当前目录下的文件列表;

²         Methods窗口:显示当前文件中的函数/类/成员列表;

²         History窗口:显示最近访问过的文件。

本文简单介绍ECB的安装与基本配置,希望本文对您有所帮助。主要参考ECB帮助文档


安装 ECB

正如绝大多数Emacs插件,ECB同样要求版本兼容,具体内容参考帮助文档的Installation部分。由于ECB的显示需要semantic的支持,因此在安装ECB之前,必须正确安装cedet/semantic,可参考《在Emacs中使用CEDET》。一切准备工作就绪以后,即可下载ECB包,并将其解压到Emacs插件存放的位置,如~/.emacs.d/site-lisp/。向.emacs文件添加以下内容,将ECB的安装目录加入到Emacs的load-path中,并且在Emacs启动时加载并自动启动ECB,同时屏蔽扰人的每日提示。

(add-to-list 'load-path "/home/pydeng/.emacs.d/site-lisp/ecb-2.40")

(require 'ecb)

;;;; 自动启动ecb,并且不显示每日提示

(setq ecb-auto-activate t

      ecb-tip-of-the-day nil)

重新启动Emacs,就可以看到ECB提供的四个窗口。这时候,可以在Emacs执行“M-x ecb-byte-complie”编译,加快ECB的运行速度。


鼠标的支持

默认情况下,使用鼠标点击ECB窗口中的内容,不起作用。可以在Emacs中执行“M-x ecb-customize-most-important”,找到“Ecb Primary Secondary Mouse Buttons”选项,将其设为“Primary: mouse-1, secondary: mouse-2”,并且以“Save for Future Sessions”保存。


关于 ECB窗口的基本操作

在.emacs文件中加入如下按键绑定,方便执行ECB窗口的基本操作,包括窗口间切换、显示/隐藏ECB窗口、使ECB窗口最大化等。

;;;; 各窗口间切换

(global-set-key [M-left] 'windmove-left)

(global-set-key [M-right] 'windmove-right)

(global-set-key [M-up] 'windmove-up)

(global-set-key [M-down] 'windmove-down)

;;;; 隐藏和显示ecb窗口

(define-key global-map [(control f1)] 'ecb-hide-ecb-windows)

(define-key global-map [(control f2)] 'ecb-show-ecb-windows)

;;;; 使某一ecb窗口最大化

(define-key global-map "\C-c1" 'ecb-maximize-window-directories)

(define-key global-map "\C-c2" 'ecb-maximize-window-sources)

(define-key global-map "\C-c3" 'ecb-maximize-window-methods)

(define-key global-map "\C-c4" 'ecb-maximize-window-history)

;;;; 恢复原始窗口布局

(define-key global-map "\C-c`" 'ecb-restore-default-window-sizes)

在Emacs中使用ECB(转载)的更多相关文章

  1. [转载]生活在 Emacs 中

    Brian Bilbrey2002 年 8 月 20 日发布 教程简介 本教程讲什么? Emacs 是一个流行的无模式文本编辑器,有许多强大的功能.本教程将教您使用 Emacs 的基础知识.为了让您很 ...

  2. 使用Emacs中的org-mode写cnblogs之图片插入

    .title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium ...

  3. Emacs中的拼写检查

    无论是在Emacs中写英文日记(diary).Org mode笔记,还是撰写程序的注释和文档,拼写检查都是一项提高工作效率.保证成果品质的必不可缺的工具.拼写检查对于常见的文字处理软件(如Word.L ...

  4. Emacs中多个golang项目的配置方法

    概述 最近使用golang开发项目时, 发现有时需要同时进行多个golang项目. 在这种情况下, 如果把所有的项目都放在 GOPATH 之下, 不仅管理麻烦(因为各个项目需要提交到不同的代码库), ...

  5. Emacs 中使用中文插件 eim

    在 Emacs 中输入中文,一般用 ibus 一类的输入法也能应付,但来回切换有点麻烦,这里介绍国人写的一个好插件 eim. - 安装 由于在 list-packages 中没有找到这个插件,所以不能 ...

  6. Emacs 中使用 shell

    直接在 Emacs 中使用 shell 能增加一点效率.Emacs 本身支持的 shell 相关的命令很多,此处化繁为简,只用一条足够了. M-x shell:将打开一个名为 * shell * 的 ...

  7. Emacs中使用shell(调出terminal)

    在Emacs中使用shell(调出terminal) 方法: M-x eshell 注意:不能使用 M-x shell,这样调用的是 cmd命令,一些命令无法使用

  8. 在Emacs中使用git操作

    在Emacs中使用git操作 1.安装 magit 插件 2.安装后开始使用 3.使用方法: . 使用 M-x:magit-status 打开当前仓库查看基本信息 .使用 ? 键查看magit命令绑定 ...

  9. 在Emacs中启用Fcitx输入法

    安装fcitx输入法,在 ~/.xinitrc文件中添加如下内容 (我用startx启动图形环境,所以在~/.xinitrc中配置X会话) export LC_CTYPE="zh_CN.UT ...

随机推荐

  1. kibana dev tools快捷键

    kibana dev tools快捷键 ctrl+enter  提交请求 ctrl+i 自动缩进 ctrl+enter 提交请求 down 打开自动补全菜单 enter或tab 选中项自动补全 esc ...

  2. SQL存储过程实例详解

    本文用3个题目,从建立数据库到创建存储过程,详细讲解数据库的功能. 题目1         学校图书馆借书信息管理系统建立三个表:         学生信息表:student 字段名称 数据类型 说明 ...

  3. SolidEdge 如何绘制断裂剖视图 局部剖视图

    1 点击局部放大图,然后点击绘制按钮,然后点击选择要绘制的视图   2 绘制封闭的局部剖视图的剖面线(必须封闭,点击最后一个点封闭之后会变成蓝色虚线)   3 修改深度(不一定要在下图的右下角修改深度 ...

  4. 设计模式之命令模式(Command)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  5. nginx+play framework +mongoDB+redis +mysql+LBS实战总结

    nginx+play framework +mongoDB+redis +mysql+LBS实战总结(一) 使用这个样的组合结构已经很久了,主要是实现web-server,不是做网站,二是纯粹的数据服 ...

  6. Android中View的事件分发机制——Android开发艺术探索笔记

    原文链接 http://sparkyuan.me/ 转载请注明出处 介绍 点击事件的事件分发就是对MotionEvent事件的分发过程.当一个MotionEvent产生了以后,系统须要把这个事件传递给 ...

  7. javascript 总结(持续更新)

    1.jQuery对象转DOM对象. jQuery对象转DOM对象有两种方法,[index]和get(index). var $cr = $("#cr"); //jQuery对象 v ...

  8. 【bzoj3210】花神的浇花集会

    将(x,y)转化成(x+y,x-y)可以将切比雪夫距离转化成曼哈顿距离(自己推一推) A.B的切比雪夫距离就是A‘.B‘曼哈顿距离的一半. 那么可以将x.y分离处理,排序中位数即可. 注意如果最后选的 ...

  9. 启用了不安全的HTTP方法解决办法 IBM APPSCAN

    启用了不安全的HTTP方法解决办法  IBM APPSCAN     安全风险:       可能会在Web 服务器上上载.修改或删除Web 页面.脚本和文件. 可能原因:       Web 服务器 ...

  10. java zip压缩优化版 解决压缩后文件一直被占用无法删除

    最近进行zip操作,从网上找到一个处理方法,但是经过试验存在一些bug,主要是文件流的申明存在问题,导致jvm一直占用文件而不释放,特意把自己修改的发出来,已备记录 import java.io.Bu ...