firemail 发表于 2017-9-12 19:35:37

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

https://www.oschina.net/question/54100_56621
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的说明有:
[*]Emacs的基本操作和组合键
[*]启动时的边框和大小及在屏幕中的位置
[*]Emacs的基本常规设定
[*]Emacs的一些开发环境的设定(C/C++、script等等)
[*]Emacs的一些扩展配置(如改变光标的形状等)
   附:本文不会解释lisp编程。
   我的工作环境是ubuntu11.04,emacs是直接用sudo apt-get install emacs安装的,版本是GNU Emacs 23.3.1。下面的例子基本都是在C语言做的演示。下面对一些文中可能用到的名称说明一下:    文中的路径都是 ~/ 目录,文中的一些路径如,~/_emacs,~/work,之类的如果没有就自己建一个,.emacs文件在~/.emacs。先来两张图,我的emacs界面,o(∩_∩)o图一:http://static.oschina.net/uploads/img/201206/06162247_O50W.png对照上图的编号:1:简洁明了的buffer浏览和操作,以及一些文件浏览器,tag浏览2:高亮代码编辑区3:自动补全4:更好的文件浏览器图2:(debug的截图)http://static.oschina.net/uploads/img/201206/06162248_r4Zn.png对照上图: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:退出EmacsC-x C-s:保存当前bufferC-x C-f:打开和新建文件C-n:光标移到下一行C-p:光标移到上一行C-k:删除一行M-x:执行命令其他的很多组合键我都进行了重新绑定,在下文中将有描述。3.启动时的大小和屏幕的中的位置http://static.oschina.net/uploads/img/201206/06162249_nUpr.png如图语句表示在启动后在屏幕的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的搜索路径:http://static.oschina.net/uploads/img/201206/06162250_8a9P.png然后加载我们对emacs的设置脚本,在.emacs中添加如下语句:http://static.oschina.net/uploads/img/201206/06162250_oSK4.png图中的几个脚本文件将在下面分别解释器用途。①对emacs的基本设置,即base.el文件(在~/_emacs中),base.el文件中的部分内容如下:http://static.oschina.net/uploads/img/201206/06162250_ZwfD.pnghttp://static.oschina.net/uploads/img/201206/06162250_eKln.pnghttp://static.oschina.net/uploads/img/201206/06162250_Wr3Z.png设置默认工作目录,即启动emacs后所在的目录,我这里设的是主目录下的work文件夹,我几乎所有的代码都是在该目录下完成的,在base.el中加上下面一句: http://static.oschina.net/uploads/img/201206/06162250_aFK8.png上面就是一些基本和重要的配置,我没有多加说明,因为图中几乎每行语句都有注释,所以大家应该能看懂的。O(∩_∩)o5.C/C++的配置下面讲关于C/C++的配置,因为笔者在Linux下主要还是进行C/C++的开发。我的C/C++的配置主要是cycode.el文件中。①开发时很重要的一步就是调试,因此,好的调试环境很重要,所以首先就是图形化调试界面: http://static.oschina.net/uploads/img/201206/06162250_mTpP.png上面加载了两个lisp的脚本文件,这两个文件是直接在网上下的图形化调试的文件。②为了能高效的浏览和编辑代码,需要安装cedet插件(可以到官网下载),下载cedet后,在~/install目录中解压,然后看解压出来的 文件夹中的INSTALL文件,然后根据里面的描述安装cedet即可(注:我所有的需要安装的插件都在~/install目录中,下面将不再重复说 明),有一点需要注意就是安装完成后不能删除安装后的文件,也就是需要保留解压后的文件夹。安装完成后,即用下面的语句将我们需要的一些东西包含进来: http://static.oschina.net/uploads/img/201206/06162250_lX5A.png然后现在就可进行有关cedet的设置,这里只是用一个代码折叠和展开为例: http://static.oschina.net/uploads/img/201206/06162250_CPpa.png③为了使使用更方便,即对上面cedet插件的一个补充,需要在安装一个ecb插件。下载ecb后放到intall目录中,解压即可(仅仅是解压),然后加上下面两句: http://static.oschina.net/uploads/img/201206/06162250_Y9pV.png④自动补全功能,为了实现自动补全功能,需要安装两个插件,这两个插件是相辅相成的——auto-complete和yasnippet。先安装 auto-complete,下载后放到install目录中解压,然后进入解压后的目录,然后输入make命令即可;下面安装yasnippet,下载 后放到install目录,然后解压即可;下面是几句关于这两个插件的配置: http://static.oschina.net/uploads/img/201206/06162250_4ODe.png⑤装完插件后,下面是一些关于综合的配置: http://static.oschina.net/uploads/img/201206/06162250_ItcX.png下面是两种补全命令: http://static.oschina.net/uploads/img/201206/06162250_voxi.png6.键绑定到这里,已经基本完成了C/C++开发环境的搭建,为了使自己用emacs更方便,需要一些建绑定,即自己定义一些组合键,这是emacs配置中必不可少的一步,我的自定义组合键都放在cykbd.el文件中,下面是部分我的键绑定代码:根据一般的习用f1来表示帮助,即man命令: http://static.oschina.net/uploads/img/201206/06162251_wQAn.png这部分是对f1-f12的一些绑定: http://static.oschina.net/uploads/img/201206/06162251_ybkd.png这里的f6为调试,即用gdb调试,f7是调用make来对原文件进行编译。将f8为对buffer的一些常用操作: http://static.oschina.net/uploads/img/201206/06162251_IrjN.png用f12查看函数定义: http://static.oschina.net/uploads/img/201206/06162251_nrLi.png对ecb的键绑定: http://static.oschina.net/uploads/img/201206/06162251_mRnl.png对窗口的一些键绑定: http://static.oschina.net/uploads/img/201206/06162252_T84P.png7.Emacs的扩展配置上面已经完成配置emacs的基本工作,换句话说,到目前为止我们已经可以用emacs进行开发了,但是为了进一步的是emacs更符合我的习惯,又加了一个cyexpand.el这个配置文件,是emacs的功能更强大,cyexpand.el的部分设置为: http://static.oschina.net/uploads/img/201206/06162252_8z42.pngEmacs主题的设置: http://static.oschina.net/uploads/img/201206/06162252_idYQ.pnghttp://static.oschina.net/uploads/img/201206/06162252_ID5a.png 将光标改成一个竖线: http://static.oschina.net/uploads/img/201206/06162252_pAvf.png8.总结到此为止,已经将emacs打造成了开发c/C++的简易IDE,由于笔者本身能力所限,文中的不足之处欢迎大家批评指正。我会将我整套配置文件和 需要下载的插件都打包上传,详细的设置和编码,大家可以下载后在使用过程中体会和深入,大家需要看的文件只有_emacs目录下的base.el、 cycode.el、cykbd.el、cyexpand.el四个文件,其他的脚本文件都是笔者从各种地方收集过来的大牛写的各种配置。我的配置文件下载连接是:http://download.csdn.net/detail/karotte/3812760


下载后重命名把 .rar删除
页: [1]
查看完整版本: 将Emacs配置成一个C/C++的IDE编程环境