转自: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. JAVA_MyEclipse如何加载Tomcat

          注意Tomcat不要放到Program Files这种有空格的路径下面!,下图所示是错误的      

  2. CocoaPods安装问题

    主要步骤: sudo gem install cocoapods pod setup 验证是否安装成功: pod search SDWebImage 常见问题: 1 sudo gem install ...

  3. 【转载】一致性哈希算法(consistent hashing)

    一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈 ...

  4. v-for指令

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 云打印-Beta-凡事预则立

    凡事预则立 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:Beta冲刺 团队队员 队员学号 队员姓名 个人博客地址 备注 221600 ...

  6. Android的onMeasure方法

    在Android开发中,当Android原生控件不能满足我们的需求的时候,就需要自定义View.View在屏幕上绘制出来先要经过measure(计算)和layout(布局). 什么时候调用onMeas ...

  7. hadoop reduce 阶段遍历 Iterable 的 2 个“坑”

    01 package com.test; 02   03 import java.util.ArrayList; 04 import java.util.Iterator; 05 import jav ...

  8. 二阶段 三阶段 提交 Paxos

    关于分布式事务.两阶段提交协议.三阶提交协议 - 文章 - 伯乐在线 http://blog.jobbole.com/95632/

  9. Hibernate中的merge使用详情解说

    merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理:                                       当ID在数据库中不能找到时,用up ...

  10. 20170223-问题001,增强中的E消息 显示为 S模式消息,

     MM01 的屏幕增强,里面写的      MESSAGE e056(z1) WITH '供应链计划(SCP) 储备物料与当期物料不能同时选择.'.可是现实出来是S 消息模式,这是为什么?系统转换了吗 ...