经过短短几天的学习摸索,对于emacs也有了初步的了解。但是明天就要开学了,所以学习不得不告一段落。于是就写下了这篇文章,也算是总结。文章中可能有些不严密的地方,欢迎大家帮忙指出。我使用的版本是emacs23.1,系统是windows(但是据说在windows下使用emacs是在糟蹋emacs折磨自己。。。但没办法,我对linux实在是不熟悉,再学linux的话就有些不现实了。。)
对于一个完全不了解emacs的初学者来说,刚刚学的时候是挺艰难的。由于我下的emacs带着说明,写的不是很清楚,加上我的笨拙,所以在安装的时候就出了点小问题:配置文件的放置以及编写。我摸索了一番,没有什么结果,就干脆不管他了,因为我发现没有配置也可以打开。打开之后,我就去看Emacs快速指南了。看完后,对emacs的操作算是有个简单了解。再后来——因为我当时不知什么是家目录,所以迷惑了一会。但是大胆地猜测实践之后,就明白了。所以一定要勇于猜测,勇于实践。当然这是题外话了。
接下来就是编写的问题了,刚开始是从网上copy了一个配置文件,还不错,也就是我现在用的配置文件的原型。当然,没有人会满足于别人写好的配置文件,都想自己写写。接下来就开始对lisp的学习了。然而我却走了许多歪路。。。。说来也惭愧,也搞笑,我竟然把lisp和elisp认为是同样的,于是就出现了各种悲剧。。。。。。。。我希望大家以后不要犯跟我一样的错误,所以列出以下错误类型:Debugger entered--Lisp error: (void-function open)Debugger entered--Lisp error: (wrong-type-argument stringp t)...其中第一个是在运行(open "d:/1.cpp" "a")语句的时候出现的问题,这个语句是lisp的语句,可能elisp里面没有第二个是在运行(format t "~$" pi)时的错误提示。这个语句的格式是lisp里面的,elisp中的格式并不是如此同样的问题也出现在substr等语句中。直到许多天后才明白其中的道理。但是正因为百度不到相关信息从而导致了这场悲剧。所以一定要写下来(尽管可能不会有几个人跟我一样。。事实上lisp有许多方言的。。。)这期间我既喜悦又烦闷,喜悦的是对emacs新事物的接触,烦闷的是一大堆语句都不能运行。。
再后来,明白了elisp与lisp是不同的,心中的烦闷疑问就基本上消除了。最后的疑问也就是从别人的配置复制过来却不能使用,这个应该是因为有些el文件没有下载,或者加载的问题。
现在我对emacs已经是爱不释手了,正努力拓展其用途之中。
其中有些是我自己写的(比如那些比较搞笑的语句)有些是从网上拷的。
_emacs
一、下载emacs的windows版本
二、新建一个_emacs文件(没有后缀名)然后写下配置信息(当然也可以复制上面的,可能会不适应。。并且我有些全局的命令是专门用于c++的)
三、修改键值,即将Caps Lock的键值改成左Ctrl的键值。这个可以借助软件,地址看这里
四、可以先去看Emacs快速指南
五、我的建议是初步去学一学elisp
六、。。。。。。
一、lisp与elisp不同所带来的问题,如语句不能正常执行。具体的错误就是刚刚所提到的
二、不了解elisp又急于自己编写命令所带来的麻烦。解决的方法很简单,就是去读一本教程,一定要整本,因为这样才会全面。
三、从别人复制过来的配置中的一些函数变量无法使用,这个应该是因为有些el文件没有加载,或者名字有所差别。如hl-line(高亮当前行)我在别人的配置上抄下来的时候并不是像我的配置里所写的样子,原因我也不怎么清楚。但是另一个版本,也就是我用的,就是这么写的,并且也能够正常使用。
四、字体的设置问题。我一直想用YaHei Consolas Hybrid,设置却总是失败。设置字体的方法我找到了许多,我觉得应该都可以,因为我失败的最主要原因是字体名称。我直接去C:\WINDOWS\Fonts复制名称,却与设置时显示的不同。这里说个小技巧,按上档键(shift)+鼠标左键即可调出菜单,选择change buffer font可以预览,以便选择合适字体,永久设置的方法在配置中有写,但这还需要有个什么支持,所以我不保证所有的emacs都可以用。
五、最大化问题。网上也有这样的代码,但是我的用不了。我的emacs不识别其中一个命令——(x-send-....)还有什么我没记住。最后是找到了一个方法,见这里。
一、《Emacs快速指南》
二、快捷键命令表
三、elisp入门手册-emacs lisp入门手册
四、Emacs中文网
session.el
wcy-desktop.el
另:感谢Emacs中文网的fangzhzh,他告诉我要好好看本教程。正因如此,我才真正认识到elisp与lisp的不同(虽说并不是直接影响,但是的确让我走出了这个弯路)
转载于:https://www.cnblogs.com/lazycal/archive/2012/08/27/2659074.html
相关资源:Linux命令行与shell脚本编程大全(第2版)