zoukankan      html  css  js  c++  java
  • 将Emacs配置成一个C/C++的IDE编程环境

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

                                                                                                                                                                       ——by0-&-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是直接用sudoapt-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四个文件,其他的脚本文件都是笔者从各种地方收集过来的大牛写的各种配置。我的配置文件下载连接是:my_emacs.zip


    转自:http://blog.csdn.net/karotte/article/details/6990031

  • 相关阅读:
    TransactSQL语言 学习sql server2005 step by step(四)
    一步一步学习C#(一)
    SQL实例进阶学习sql server2005 step by step(八)
    SQL Server中常用全局变量和函数 学习sql server2005 step by step(五)
    SQL实例进阶学习sql server2005 step by step(七)
    C#操作excel(开篇)
    SQL进阶提升(平时小积累)学习sql server2005 step by step(十)
    mysql 备份各种方法
    ubuntu 这可怕的弹出窗口啊“Enter password to unlock your login keyring”
    很简单的内核模块A+B
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2407318.html
Copyright © 2011-2022 走看看