zoukankan      html  css  js  c++  java
  • 初识emacs 小结

    经过短短几天的学习摸索,对于emacs也有了初步的了解。但是明天就要开学了,所以学习不得不告一段落。
    于是就写下了这篇文章,也算是总结。
    文章中可能有些不严密的地方,欢迎大家帮忙指出。
    我使用的版本是emacs23.1,系统是windows(但是据说在windows下使用emacs是在糟蹋emacs折磨自己。。。但没办法,我对linux实在是不熟悉,再学linux的话就有些不现实了。。)

    emacs简介

    Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。----百度百科

    另:emacs是用elisp,不是lisp!

    emacs的学习经过以及感受

    对于一个完全不了解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

    emacs的安装学习步骤

    一、下载emacs的windows版本

    二、新建一个_emacs文件(没有后缀名)然后写下配置信息(当然也可以复制上面的,可能会不适应。。并且我有些全局的命令是专门用于c++的)

    三、修改键值,即将Caps Lock的键值改成左Ctrl的键值。这个可以借助软件,地址看这里

    四、可以先去看Emacs快速指南

    五、我的建议是初步去学一学elisp

    六、。。。。。。

    我emacs学习过程遇到的问题

    一、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中文网

    配置文件需要的el文件

    session.el

    wcy-desktop.el

    另:感谢Emacs中文网的fangzhzh,他告诉我要好好看本教程。正因如此,我才真正认识到elisp与lisp的不同(虽说并不是直接影响,但是的确让我走出了这个弯路)

  • 相关阅读:
    Django虚拟环境创建问题virtualenvwrapper.sh: There was a problem running the initialization hooks.
    面向对象
    使用python中ssh连接CentOS7上的数据库
    Mysql在python中的使用:pymysql
    Mysql索引原理
    Mysql数据记录操作
    Mysql完整性约束
    Mysql支持的数据类型
    Mysql账户设置_增删改查_表操作
    自己项目列表
  • 原文地址:https://www.cnblogs.com/lazycal/p/2659074.html
Copyright © 2011-2022 走看看