将Emacs配置成一个C/C++的IDE编程环境

将Emacs配置成一个C/C++的IDE编程环境

                                                                                                                                            ——by 0-&-1

1.写在前面

         Linux下的编程,业界多数人士并不喜欢,尤其是习惯了在windows下编程的程序员,认为windows的IDE各种好,而linux下没有一个好的IDE ,估计很多人就是卡在这个门槛上了(PS:听说Microsoft和google这种级别的公司的顶级程序员也都不用IDE的,用的是VIM和EMACS)。虽说那些linux牛人也都不用IDE的并且我也很想装成一个牛人,但经过几番折腾,本人还是比较习惯IDE,因为本人也是在windows的IDE下开始的程序生涯。“工欲善其事,必先利其器”,我想如果有个好用的IDE,那些linux牛人应该也不排斥吧。

         在linux编程,首先要选择开发工具,自然目光就投向了网上都说的两大神器——VIM和EMACS,虽说他们只是编辑器,但由于超强的可定制度,已成为广大linux工作者的首选。所以今天我就写点本人使用Emacs和将Emacs配置成一个简易IDE的过程和心得。不过说起配置IDE,CSDN上前辈吴垠有篇将VIM配置成IDE的文章,本人刚在linux编程时曾深深学习过,甚为折服。顺便提一句,我曾经也是用VIM写程序的,所以我的VIM看起来也是一个简单的IDE,不过后面转向使用Emacs了(声明:本人无意加入VIM和Emacs之争,选择哪一个纯属个人习惯和喜好而已)。

         网上很对人都说Emacs门槛比较高,入门难。其实也没有说的那么夸张,可能是比VIM难一点,但是也是很容易上手的,只是好用不好用的问题。好了,闲话少说,下面进入今天的主题:打造Emacs。

         本文对Emacs的说明有:

  1. Emacs的基本操作和组合键
  2. 启动时的边框和大小及在屏幕中的位置
  3. Emacs的基本常规设定
  4. Emacs的一些开发环境的设定(C/C++、script等等)
  5. Emacs的一些扩展配置(如改变光标的形状等)

   附:本文不会解释lisp编程。

  

   我的工作环境是ubuntu11.04,emacs是直接用sudo apt-get install emacs安装的,版本是GNU Emacs 23.3.1。下面的例子基本都是在C语言做的演示。

 

下面对一些文中可能用到的名称说明一下:

    文中的路径都是 ~/ 目录,文中的一些路径如,~/_emacs,~/work,之类的如果没有就自己建一个,.emacs文件在~/.emacs。

 

先来两张图,我的emacs界面,o(∩_∩)o

图一:

 

 

对照上图的编号:

1:简洁明了的buffer浏览和操作,以及一些文件浏览器,tag浏览

2:高亮代码编辑区

3:自动补全

4:更好的文件浏览器

 

图2:(debug的截图)

 

对照上图:

1:图形化调试选项

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:退出Emacs

C-x C-s:保存当前buffer

C-x C-f:打开和新建文件

C-n:光标移到下一行

C-p:光标移到上一行

C-k:删除一行

M-x:执行命令

 

其他的很多组合键我都进行了重新绑定,在下文中将有描述。

 

3.启动时的大小和屏幕的中的位置

 

如图语句表示在启动后在屏幕的x=20,y=0处,高度为35宽度为100的Emacs。

说明:关于修改Emacs的启动大小的问题,网上最多的描述是:有两种方法①修该~/.Xdefault文件,然后运行xrdb ~/.Xdefault;②在~/.emacs中进行上图所示修改;然后网上的说明是第一种方法更好。故在此进行一个说明,根据笔者的使用经验,个人更喜欢用第2种方法,因为当用第一种方法后,每次修改了emacs的配置文件,都需要重新运行xrdb  ~/.Xdefault,个人感觉比较烦,还有一些其他问题,这里就不例举了,所以我选择的是在.emacs配置文件中修改的方法。

 

4.Emacs的基本常规设定

按照一般的习惯,.emacs文件中一般不会放太多的设置信息,一般放一些emacs的搜索路径的信息。这里我的emacs的配置文件,即lisp脚本都放在~/_emacs的文件夹中。

因此首先添加一个emacs的搜索路径:

然后加载我们对emacs的设置脚本,在.emacs中添加如下语句:

图中的几个脚本文件将在下面分别解释器用途。

①对emacs的基本设置,即base.el文件(在~/_emacs中),base.el文件中的部分内容如下:

设置默认工作目录,即启动emacs后所在的目录,我这里设的是主目录下的work文件夹,我几乎所有的代码都是在该目录下完成的,在base.el中加上下面一句:

 

上面就是一些基本和重要的配置,我没有多加说明,因为图中几乎每行语句都有注释,所以大家应该能看懂的。O(∩_∩)o

 

5.C/C++的配置

下面讲关于C/C++的配置,因为笔者在Linux下主要还是进行C/C++的开发。我的C/C++的配置主要是cycode.el文件中。

①开发时很重要的一步就是调试,因此,好的调试环境很重要,所以首先就是图形化调试界面:

 

上面加载了两个lisp的脚本文件,这两个文件是直接在网上下的图形化调试的文件。

②为了能高效的浏览和编辑代码,需要安装cedet插件(可以到官网下载),下载cedet后,在~/install目录中解压,然后看解压出来的文件夹中的INSTALL文件,然后根据里面的描述安装cedet即可(注:我所有的需要安装的插件都在~/install目录中,下面将不再重复说明),有一点需要注意就是安装完成后不能删除安装后的文件,也就是需要保留解压后的文件夹。

安装完成后,即用下面的语句将我们需要的一些东西包含进来:

 

然后现在就可进行有关cedet的设置,这里只是用一个代码折叠和展开为例:

 

③为了使使用更方便,即对上面cedet插件的一个补充,需要在安装一个ecb插件。下载ecb后放到intall目录中,解压即可(仅仅是解压),然后加上下面两句:

 

④自动补全功能,为了实现自动补全功能,需要安装两个插件,这两个插件是相辅相成的——auto-complete和yasnippet。先安装auto-complete,下载后放到install目录中解压,然后进入解压后的目录,然后输入make命令即可;下面安装yasnippet,下载后放到install目录,然后解压即可;下面是几句关于这两个插件的配置:

 

⑤装完插件后,下面是一些关于综合的配置:

 

下面是两种补全命令:

 

 

6.键绑定

到这里,已经基本完成了C/C++开发环境的搭建,为了使自己用emacs更方便,需要一些建绑定,即自己定义一些组合键,这是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四个文件,其他的脚本文件都是笔者从各种地方收集过来的大牛写的各种配置。我的配置文件下载连接是:

http://download.csdn.net/detail/karotte/3812760

posted @ 2012-06-06 09:30  karottc  阅读(12634)  评论(19编辑  收藏  举报