您的位置:首页 > 其它

Emacs基本配置,自动补全

2015-01-28 15:30 295 查看
很久之前用过emacs不过也只是学习了一点点基本的命令。发现相对与vim来说命令方面确实不那么好用,因为vim的命令相对比较简单,emacs需要不少的组合按钮。而且相对与vim来说emacs感觉比较重量级,这使得我后来放弃了对emacs的学习,也当作是给自己一个不学的借口吧。不过后来看了一些人的博文,让我重新燃起对emacs 的渴望。(我可没有表示emacs比vim好,两者各有所长,没必要非要站在哪个阵营上。)国内emacs的教程简直稀少,vim比较好一点,有不少的中文教程,emacs的教程基本上是没得卖了。国外的又贵就只能看文档了。一篇文章不错。《生活在emacs中》作者对emacs的一些命令进行了高度概括。由于emacs的参考文档比较长,学习曲线比较陡,领悟一些比较

基本的操作有助于在平时操作的过程中再慢慢学习一些不那么常用的命令。这样学习起来也不会太枯燥。不然看文档是相当难受。开始用emacs首先肯定要作一些配置文件修改了。这就让我遇到了第一个问题。

1为什么我的配置文件不能用:

根据无数的教程配置文件应该是这个文件名~/.emacs,表示在用户根目录下的一个名为.emacs的隐藏文件,这就让人难受了。我开始用的是root用户,不过我是在图形基础上通过终端登录的root用户,所以我的配置文件一直不管用。后来我通过基本用户登录修改基本用户的~/.emacs文件这样在这个用户基础上通过终端登录的其他用户都可以使用配置文件了,不过配置文件还是读取的是基本用户~/.emacs文件。可能是用于环境来说都是属于该用户界面的东西吧。如果你吧.emacs放在根目录所在的用户目录下/root/.emacs这样它是读不到配置文件的应该多家注意才是。

接下来第二个问题估计也是大家比较关注的问题

2.代码自动补全:

这是一个很棒的功能。

网上教程说需要插件auto-complete yasnippet 这两个结合起来就相当与一个IDE

安装方法很简单只需要在github上下载这两个包,如果没有github用户的话可以直接下载.zip文件,下来下载就可以了。

我的方案是

1.在~/.emacs.d/文件夹中创建一个新的文件夹plugins用来存放插件

结果如下

[lan@node3 plugins]$ ls
auto-complete  yasnippet

2修改配置文件~/.emacs添加下面语句

;;------------------------------------------
;;插件添加
;;-----------------------------------------
;;自动补全
(add-to-list 'load-path "~/.emacs.d/plugins/auto-complete/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories
"~/.emacs.d/plugins/auto-complete/dict/")
(ac-config-default)

;;添加一些定义
(add-to-list 'load-path "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas/global-mode 1)
;;------------------------------------------
;;插件添加结束
;;------------------------------------------


相信有编程基础的都大概能理解上面的话是什么意思,我也不懂Lisp不过还好这里没有太高深的语法,这里表示加载我们的插件。添加后保存即可

3重启,问题来了

Warning (initialization): An error occurred while loading `/home/lan/.emacs':

File error: Cannot open load file, popup

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.
这里说的是没有加载到popup插件,这里我也难受了很久,最直接的办法就是上网寻找这个插件,既然它都是直接加载的我们只要下载下来放进auto-complete的目录里面就行了

插件的名字是popup.el 解决了这个之后它还是找不到一个叫做cl-lib的插件,同样上去github就能下载到。cl-lib.el复制到auto-complete中。然后重启emacs

效果如下:



自动补全功能已经有了。而且支持许多语言,比如C,Lisp等等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: