不折腾不舒服: vim用户尝试emacs的实验报告

Posted 软件那些事儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不折腾不舒服: vim用户尝试emacs的实验报告相关的知识,希望对你有一定的参考价值。

Hacker: Someone who loves to program and enjoys being clever about it.

另: 这篇不是音频节目


国庆假期里,我躺在床上随便翻看一本书,这本书我看过好几次了,每次都能有新的发现,这本书的名字叫做《The Pragmatic Programmer》。不经意间,我就翻到了文本编辑器那一节。我从学校毕业以后,跟着我的师傅使用vim,现在算起来已经十余年了。我并不是有意选择使用vim这个编辑器,而是我毕业以后,使用的工作环境为Solaris和BSD,上面可以选择的编辑器并不多,带我的师傅使用vim,我自然也就使用vim了。这么多年以来,我一直把vim当成我的首选编辑器。其实,我从来没有用过emacs,完全不懂。看到这本书的时候,我决定尝试用一下emacs,看看他有什么神奇的魅力。



说干就干吧,苹果电脑上默认就有vim和emacs这两个编辑器,于是,我就打开emacs,第一次尝试使用emacs来写这篇文章。我喜欢尝试任何新的东西,我想看看从vim转emacs到底有多痛苦?我写这篇文章,记录一下我的学习经历,另外,我目前的感觉,根本谈不上痛苦。只是手上不停的试图使用vim的按键,当然,按下去的按键完全没有作用,有点小挫折而已。本文权作记录。


emacs的来历


emacs的作者是理查德斯托曼,是我最佩服的人之一,前两天,我还专门为他做了一期音频节目,名字叫做《最后一名真正的黑客》。emacs编辑器和vim编辑器曾经并称为程序员使用的两大主力编辑器。曾经有个说法是这样的,程序员使用三种编辑器,一种是vim,一种是emacs,剩下的使用其它编辑器。当然,以目前的眼光来看,已经有失偏跛了,现在的程序员基本上IDE有什么编辑器,就用什么编辑器。何况现在市面上有很多优秀的编辑器,比如TextMate,Sublime以及Atom,当然,我从来没有真正的使用过他们,我见过很多人推荐他们,但是我的惰性,安于现状,一直使用vim作为主力编辑器,甚至给xcode添加了vim的插件,也给chrome浏览器添加了一个叫vimium的插件来模拟vim的操作。应该做出一点改变了,免得以后得了老年痴呆症。


读emacs内置的帮助文档


打开emacs只有,只需要先按Ctrl-h键,再按t这个键(我觉得t代表tutorial),就可以启动emacs的内置帮助文档。我读了一遍。(另外: vim的帮助文档的名字叫vimtutor,这个只需要在命令行下输入vimtutor就可以打开帮助文档了,并不需要先开启vim)


查看emacs命令的帮助文档


首先开启emacs,然后先按Ctrl-h键,再按k这个键,这时候emacs就等着你输入需要帮助的按键。当输入以后,emacs会打开一个小窗口,给出该键的说明。(另外:vim也有这样的功能,方法是在命令模式下输入:,然后输入help,然后空格以后输入你想知道的按键)


打开文件


vim和emacs在打开文件的时候是一样的,可以在命令之后输入这个文件名。也可调用各自内置的方法来打开,emacs使用的方法是使用组合键Ctrl-x Ctrl-f之后,再输入需要打开的文件名。在vim之中是在命令模式下输入冒号: o之后,再输入文件名。除了按键不同以外,很相似的感觉。


编辑文件


vim和emacs编辑文件,都是先存入缓冲器,等编辑好了,再决定是放弃还是保存。并且,emacs和vim都有针对缓冲器的操作,只是emacs我还不太会用。我觉得emacs和vim最大的差别也在这里,emacs没有为编辑文件和输入命令分别用几个模式,emacs只有一个模式,vim则有好几个模式。


保存文件


放弃保存,在emacs使用组合键Ctrl-x Ctrl-c,在vim中使用:q! 如果确定保存,在emacs中使用Ctrl-x Ctrl-s, 在vim中则使用:w


按照循序渐进的原则,我今天只浅尝辄止了一下emacs,感觉并非网上所说的vim和emacs如此对立,虽然我用了10余年vim,但是我也不过熟悉了几分钟,就达到了使用windows自带的记事本的程度 :)... 我会继续学习emacs,给自己一个大开眼界的机会。


另外,我记录下我看emacs文档的一些信息,这些信息我还没有机会去验证,这是emacs的命令键绑定的规则,暂时先记录在这里:


1. 在emacs中,最常用的命令是绑定在Ctrl同时外加一个键上

2. 在emacs中,次常用的命令绑定在按ESC后外加一个键上

3. 在emacs中,第三常用的命令绑定在Ctrl+x然后再加上一些键上,比如文件操作命令基本上都绑定在这些键上

4. 在emacs中,最不常用的命令绑定在Ctrl+c然后再加一些键上,这些命令通常都是与某些特殊的编辑有关,比如说图形模式以及邮件模式等等


以上是我今天学习到的知识,暂时还没有不适的感觉。只是由于很多vim的命令暂时没法使用emacs来代替,编辑的速度慢了不少,但是,起码不比windows的记事本慢!


我会继续我的尝试,以防止自己故步自封,得了老年痴呆症。


以上是关于不折腾不舒服: vim用户尝试emacs的实验报告的主要内容,如果未能解决你的问题,请参考以下文章

怎样用 vim 编写 Java

推荐文章: 一年成为Emacs高手

不折腾不舒服斯基——在电脑上安装macOS(黑苹果)

Emacs打开shell窗口

Emacs打开shell窗口

为什么 vim 和 emacs 没有占领市场