1、1.写在前面Linux 下的编程,业界多数人士并不喜欢,尤其是习惯了在 windows 下编程的程序员,认为 windows 的 IDE 各种好,而 linux 下没有一个好的 IDE ,估计很多人就是卡在这个门槛上了(PS:听说 Microsoft 和 google 这种级别的公司的顶级程序员也都不用 IDE 的,用的是 VIM 和 EMACS)。虽说那些 linux 牛人也都不用 IDE 的并且我也很想装成一个牛人,但经过几番折腾,本人还是比较习惯 IDE,因为本人也是在 windows 的 IDE 下开始的程序生涯。“工欲善其事,必先利其器 ”,我想如果有个好用的 IDE,那些 linu
2、x 牛人应该也不排斥吧。在 linux 编程,首先要选择开发工具,自然目光就投向了网上都说的两大神器VIM 和 EMACS,虽说他们只是编辑器,但由于超强的可定制度,已成为广大 linux 工作者的首选。所以今天我就写点本人使用 Emacs 和将 Emacs 配置成一个简易 IDE 的过程和心得。不过说起配置 IDE,http:/ CSDN 上前辈吴垠有篇将 VIM 配置成IDE 的文章,本人刚在 linux 编程时曾深深学习过,甚为折服。顺便提一句,我曾经也是用VIM 写程序的,所以我的 VIM 看起来也是一个简单的 IDE,不过后面转向使用 Emacs 了(声明:本人无意加入 VIM 和
3、Emacs 之争,选择哪一个纯属个人习惯和喜好而已)。网上很对人都说 Emacs 门槛比较高,入门难。其实也没有说的那么夸张,可能是比VIM 难一点,但是也是很容易上手的,只是好用不好用的问题。好了,闲话少说,下面进入今天的主题:打造 Emacs。本文对 Emacs 的说明有:1. Emacs 的基本操作和组合键 2. 启动时的边框和大小及在屏幕中的位置 3. Emacs 的基本常规设定 4. Emacs 的一些开发环境的设定(C/C+、script 等等) 5. Emacs 的一些扩展配置(如改变光标的形状等) 附:本文不会解释 lisp 编程。我的工作环境是 ubuntu11.04,ema
4、cs 是直接用 sudo apt-get install emacs 安装的,版本是 GNU Emacs 23.3.1。下面的例子基本都是在 C 语言做的演示。下面对一些文中可能用到的名称说明一下:文中的路径都是 / 目录,文中的一些路径如,/_emacs,/work,之类的如果没有就自己建一个,http:/ .emacs 文件在 /.emacs。先来两张图,我的 emacs 界面,o(_)o图一:对照上图的编号:1:简洁明了的 buffer 浏览和操作,以及一些文件浏览器,tag 浏览2:高亮代码编辑区3:自动补全4:更好的文件浏览器图 2:(debug 的截图)对照上图:1:图形化调试选项
5、2:变量查看区3:源码查看区4:栈查看区5:断点查看区2.Emacs 的基本操作和组合键1.Emacs 的模式键定义四个模式键:C-ctrl ;M-alt ;s-super(win);S-shift比如:C-x :表示 ctrl+x(表示先按下 ctrl 键,然后按下 x 键C-x c C-c:表示按下 ctrl,然后按下 x 键松开后再按下 c 键C-x k:表示按下 ctrl,同时按下 x 和 k 键2.Emacs 的基本组合键C-x C-c:退出 EmacsC-x C-s:保存当前 bufferC-x C-f:打开和新建文件C-n:光标移到下一行C-p:光标移到上一行C-k:删除一行M-
6、x:执行命令其他的很多组合键我都进行了重新绑定,在下文中将有描述。3.启动时的大小和屏幕的中的位置如图语句表示在启动后在屏幕的 x=20,y=0 处,高度为 35 宽度为 100 的 Emacs。说明:关于修改 Emacs 的启动大小的问题,网上最多的描述是:有两种方法修该/.Xdefault 文件,然后运行 xrdb /.Xdefault;在/.emacs 中进行上图所示修改;然后网上的说明是第一种方法更好。故在此进行一个说明,根据笔者的使用经验,个人更喜欢用第 2 种方法,因为当用第一种方法后,每次修改了 emacs 的配置文件,都需要重新运行xrdb /.Xdefault,个人感觉比较烦
7、,还有一些其他问题,这里就不例举了,所以我选择的是在.emacs 配置文件中修改的方法。4.Emacs 的基本常规设定按照一般的习惯,.emacs 文件中一般不会放太多的设置信息,一般放一些 emacs 的搜索路径的信息。这里我的 emacs 的配置文件,即 lisp 脚本都放在/_emacs 的文件夹中。因此首先添加一个 emacs 的搜索路径:然后加载我们对 emacs 的设置脚本,在.emacs 中添加如下语句:图中的几个脚本文件将在下面分别解释器用途。对 emacs 的基本设置,即 base.el 文件(在/_emacs 中),base.el 文件中的部分内容如下:设置默认工作目录,即
8、启动 emacs 后所在的目录,我这里设的是主目录下的 work 文件夹,我几乎所有的代码都是在该目录下完成的,在 base.el 中加上下面一句:上面就是一些基本和重要的配置,我没有多加说明,因为图中几乎每行语句都有注释,所以大家应该能看懂的。O(_)o5.C/C+的配置下面讲关于 C/C+的配置,因为笔者在 Linux 下主要还是进行 C/C+的开发。我的 C/C+的配置主要是 cycode.el 文件中。开发时很重要的一步就是调试,因此,好的调试环境很重要,所以首先就是图形化调试界面:上面加载了两个 lisp 的脚本文件,这两个文件是直接在网上下的图形化调试的文件。为了能高效的浏览和编辑
9、代码,需要安装 cedet 插件(可以到官网下载 ),下载 cedet 后,在/install 目录中解压,然后看解压出来的文件夹中的 INSTALL 文件,然后根据里面的描述安装 cedet 即可(注:我所有的需要安装的插件都在/install 目录中,下面将不再重复说明),有一点需要注意就是安装完成后不能删除安装后的文件,也就是需要保留解压后的文件夹。安装完成后,即用下面的语句将我们需要的一些东西包含进来:然后现在就可进行有关 cedet 的设置,这里只是用一个代码折叠和展开为例:为了使使用更方便,即对上面 cedet 插件的一个补充,需要在安装一个 ecb 插件。下载ecb 后放到 in
10、tall 目录中,解压即可(仅仅是解压) ,然后加上下面两句:自动补全功能,为了实现自动补全功能,需要安装两个插件,这两个插件是相辅相成的auto-complete 和 yasnippet。先安装 auto-complete,下载后放到 install 目录中解压,然后进入解压后的目录,然后输入 make 命令即可;下面安装 yasnippet,下载后放到install 目录,然后解压即可;下面是几句关于这两个插件的配置:装完插件后,下面是一些关于综合的配置:下面是两种补全命令:6.键绑定到这里,已经基本完成了 C/C+开发环境的搭建,为了使自己用 emacs 更方便,需要一些建绑定,即自己定
11、义一些组合键,这是 emacs 配置中必不可少的一步,我的自定义组合键都放在 cykbd.el 文件中,下面是部分我的键绑定代码:根据一般的习用 f1 来表示帮助,即 man 命令:这部分是对 f1-f12 的一些绑定:这里的 f6 为调试,即用 gdb 调试,f7 是调用 make 来对原文件进行编译。将 f8 为对 buffer 的一些常用操作:用 f12 查看函数定义:对 ecb 的键绑定:对窗口的一些键绑定:7.Emacs 的扩展配置上面已经完成配置 emacs 的基本工作,换句话说,到目前为止我们已经可以用 emacs 进行开发了,但是为了进一步的是 emacs 更符合我的习惯,又加了一个 cyexpand.el 这个配置文件,是 emacs 的功能更强大,cyexpand.el 的部分设置为:Emacs 主题的设置:将光标改成一个竖线:8.总结到此为止,已经将 emacs 打造成了开发 c/C+的简易 IDE,由于笔者本身能力所限,文中的不足之处欢迎大家批评指正。我会将我整套配置文件和需要下载的插件都打包上传,详细的设置和编码,大家可以下载后在使用过程中体会和深入,大家需要看的文件只有_emacs 目录下的 base.el、cycode.el、cykbd.el、cyexpand.el 四个文件,其他的脚本文件都是笔者从各种地方收集过来的大牛写的各种配置。