我的 Emacs 配置主要参考了 redguardtoo的专栏 , 主要的配置文件来自于 purcell ,在 purcell 的基础上,我做了一些满足我个人需要的修改,如 auto-complete 、 auto-complete-clang 等

我的 emacs 是运行在 Mac 上的,但这些配置文件同样适用于 Ubuntu

安装方法如下:

通过 git 将我的配置文件克隆到主文件夹中:
git clone https://github.com/abnerwang/emacs.d.git ~/.emacs.d

克隆完毕后,切勿立马打开 emacs,首先google搜索下载字体微软雅黑(苹果机和 Ubuntu 都需要安装)和 Monaco(这个字体苹果机自带,无需安装,如果没有,google搜索下载),安装完这两种字体后,一定确保这两种字体在你的计算机中是有效使用的

接着用文本编辑器打开 .emacs.d 文件夹下的 init.el 文件,将第 55 行(包括第 55 行)从 “;;auto-complete配置” 开始到第 91 行(包括第 91 行) “)))” 之间的所有代码剪切粘贴到一个备份文件中(稍后要恢复到原来的位置)

接着打开 emacs 开始自动下载插件,等插件下载完毕后,打开 emacs ,敲入如下命令:(M-x 在普通 PC 中是同时按住 Alt + X 键,在 Mac 下是同时按住 Command + X 键)
M-x package-install,回车
然后输入 auto-complete,回车,开始安装
安装完毕后,关闭 emacs ,在 .emacs.d/elpa 中找到类似于 auto-complete-20140414.2324 的文件夹,将其中的 auto-complete.el 文件拷贝到 .emacs.d/lisp 文件夹下,接着在 .emacs.d/elpa 中找到类似于 popup-20140207.1702 的文件夹,将其中的 popup.el 文件拷贝到 .emacs.d/lisp 文件夹下

然后在 shell 中输入 git clone https://github.com/brianjcj/auto-complete-clang.git在 clone 的 auto-complete-clang 文件夹中,拷贝 auto-complete-clang.el 文件至 .emacs.d/lisp 文件夹下

将刚才备份的第 55 行到第 91 行的所有代码拷贝到 .emacs.d/init.el 文件中的原来位置,接着,需要修改 .emacs.d/init.el 第84行 split string 后面双引号括起来的所有路径为你的电脑中的对应位置,通过以下命令在 shell 中获得这些路径:

echo "" | g++ -v -x c++ -E -

修改完路径后,保存文件 init.el,到此为止大功告成了

5月12日补充内容:用 smart-compile 进行一键智能编译:
打开 emacs,M-x package-install,回车
然后输入 smart-compile,回车,开始安装
安装完成后,在 .emacs.d/init.el 中加入以下语句,将 smart-compile 功能绑定到 F9 按键上:
(global-set-key (kbd "<f9>") 'smart-compile)
这样,就能在 emacs 下实现一键编译了

5月13日补充内容: ecb结合cedet显示目录:
http://cedet.sourceforge.net/ 下载 cedet-1.1.tar.gz 后解压,将解压后的文件夹拷贝到 .emacs.d/elpa 中,然后从终端进入 .emacs.d/elpa/cedet-1.1 文件夹中,在终端中运行以下命令:
make EMACS=emacs,回车
等待 cedet 安装完成后,打开 emacs ,M-x package-install,回车
然后输入 ecb,回车,开始安装
安装完成后,继续 M-x package-install,回车
然后输入 ecb-snapshot,回车,开始安装
安装完成后,打开一个程序源文件,然后 M-x ecb-activate,即可显示源文件所在的目录树,当然,也可以将这个操作绑定到一个键上,譬如我就绑定到 F3 上吧,在 .emacs.d/init.el 中加入以下语句:
(global-set-key (kbd "<f3>") 'ecb-activate)
这样的话,每次按 F3 就可以激活 ecb 了
我们再来绑定 F1 和 F2 来分别显示和隐藏 ecb 吧!一并加入 .emacs.d/init.el 中:
(define-key global-map [(f1)] 'ecb-show-ecb-windows)
(define-key global-map [(f2)] 'ecb-hide-ecb-windows)
最后,在 ecb 中不需要显示奇怪的每日提示,因此,需要在 .emacs.d/init.el 中加入:
(setq ecb-tip-of-the-day nil)
好了,到现在已经全部完工了

简要使用方法说明

  1. M-x shell: 调出 shell ,如果在使用的过程中还需要运行另外的 shell 窗口,则 M-x rename-buffer ,给当前的 shell 取个名字即可再增加一个 shell 窗口
  2. 按住 control + G ( 普通 PC 中是 Ctrl + G ): 终止当前输入命令,如输入了 M-x,按住 control + G ,则取消当前命令 M-x
  3. 按住 control + x + 3( 普通 PC 中是 Ctrl + x + 3 ),垂直分割当前窗口;按住 control + x + 2( 普通 PC 中是 Ctrl + x + 2 ),水平分割当前窗口;按住 control + x + o( 普通 PC 中是 Ctrl + x + o ),将焦点移动到下一窗口;按住 control + x + 1( 普通 PC 中是 Ctrl + x + 1 ),将当前子窗口最大化;按住 control + x + 0( 普通 PC 中是 Ctrl + x + 0 ),删除当前子窗口
  4. 按住 command + 0…9( 普通 PC 中是 Alt + 0…9 ),在不同编号的子窗口中跳转

我的 Emacs 截图

这个主题是我自己安装和添加的,来自于 https://github.com/lvillani/el-monokai-theme ,按照它提示的方法一步步安装,安装好后打开 Emacs 的主题设置进行选择就行了