emacs自动补全

先安装emacs (>24) ubuntu默认是23版本的,会缺少cl-lib

yasnippet是一个代码片段补全工具,可以用来补全大段的常用的代码片段

auto-complete是一个补全的前端,可以与许多补齐的后端工具配合

 首先安装yasnippet,由于是装最新的build版本,所以先clone它到~/.emacs.d/plugins/中去,如果没有.emacs.d文件夹,那么先自己创建一个(mkdir .emacs.d),输入以下命令:

[plain]  view plain  copy
  1. cd ~/.emacs.d/plugins  
  2. git clone https://github.com/capitaomorte/yasnippet.git  

然后再到配置文件中加入下面内容:
[plain]  view plain  copy
  1. (add-to-list 'load-path  
  2. "~/.emacs.d/plugins/yasnippet")  
  3. (require 'yasnippet)  
  4. (yas/global-mode 1)  
在这里就安装完毕了,之后尼可以把自己的代码片段放到.emacs.d/snippets 文件夹中了。

再安装auto-complete,auto-complete需要先编译,与前面类似,先clone到本地:

[plain]  view plain  copy
  1. cd ~/.emacs.d/plugins  
  2. git clone https://github.com/auto-complete/auto-complete.git  
接下来是编译了,编译可以用make,或者用emacs,make的话,他一老说我缺少popup-el,然后用install-elisp安装popup后,编译器还是说缺少popup,蛋疼死了,所以就直接用emacs安装了,命令如下:
[plain]  view plain  copy
  1. emacs -batch -l etc/install.el  #(要选择安装路径,不能和当前路径重复了)
[plain]  view plain  copy
  1. 安装成功后在配置文件中加入如下几行  
  2. (add-to-list 'load-path "~/.emacs.d") ; This may not be appeared if you have already added.  
  3. (require 'auto-complete-config)  
  4. (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")  
  5. (ac-config-default)  

出现没有popup的错误,安装popup

git clone https://github.com/auto-complete/popup-el  下载以后取其下popup.el放入~/.emacs.d/plugins/

更改.emacs,添加(popup.el在plugins目录下,require后面是popup.el的前缀,参考这里

(add-to-list 'load-path "~/.emacs.d/plugins")
(require 'popup)

然后重新启动emacs,就可以同时使用yasnippet与auto-complete了


这些东西弄好后,会有一个问题,就是自动补全只能补全c或者c++的关键字或者你已经在buffer中输入过的东西(可能描述不是很清楚,总之用了就知道,补全不是你想要的效果)。那么怎么办呢?其实这是因为auto-complete只是一个补全前端,你可以自己再安装一个补全后端,以达到理想的补齐效果,比较出名的后端补齐有cedet中的semantics,不过它速度好像比较慢,所以就没有使用。还有gccsence,gccsence弄了很久也没弄好,而且gccsence不能马上补齐,因为他是基于gcc一些编译的信息,所以要使用补全功能,必须先编译一次代码,所以也不是我想要的效果。于是换另外一个叫做auto-complete-clang的,不过auto-complete-calng的话,按照官方的文档设置,总是出现问题不能补全,可能和最新版本的auto-complete不兼容吧。后来发现了另外一个补齐工具,是基于auto-complete-clang的

下载地址,https://github.com/brianjcj/auto-complete-clang

auto-complete-clang.el复制到plugins下,配置路径

(add-to-list 'load-path "~/.emacs.d/plugins")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值