★ Emacs 普通人的编辑利器

现代生活中,文档越来越重要,电脑已经成为编辑文本最主要的工具,程序员的工作其实就是编辑文档,选择高效的文本工具,自然要考虑程序员用的工具。而 Emacs 就是一个是适合普通人使用的高效文档编写工具。

谈及 Emacs,很多人第一个感觉就是很复杂,随之而来就有一个疑问“很难用的吧?”。但是,我虽然不是程序员,现在使用 Emcas + Org-mode(Emcas 上的插件) 的组合,感觉行云流水,毫无碍难。心中想到,为什么就算是程序员也觉得 Emcas 难用,而我作为一介 非程序员 却觉得 Emacs 好用呢?我觉得,这不过是以讹传讹罢了。

为什么不是程序员的你也能运用 Emacs?

说实在话,就一个普通人而言,在没有接触过 Emacs 之前,是没法想像原来文本可以玩出这么多花样(Vim也很强,不过本文只谈 Emacs)。但是在网上,却有很多人在说 Emacs 难用,不得不说这是对 Emacs 的妖魔化。文本编辑器多种多样,Emacs 作为一个发展的40多年的编辑器,如果它真的要这么差的话,它早就应该成为历史的淘汰者,再不被人提起。而事实正正相反,Emacs 不但流传广泛,而且还被誉为世界两大编辑器之一,被人称之为“神的编辑器”。所以,以下的文字算是为 Emacs 辩解,要注意的是本文 并没有贬低别的编辑器 的意思。

不要妖魔化 Emacs !

  • 妖魔化 Emacs 之①:Emacs 的操作效率不高。
    • 大多数这么说的人,都是使用 Vim 的程序员。也就是说,他们的这种评语,是从他们的职业特性出发,他们的判断并没有从其他的职业来出发考虑。事实上,就算 Emacs 的操作效率再怎么差,比起 Windows 下的记事本/Word 来说,那全键盘的操作下效率还是要高多了。
  • 妖魔化 Emacs 之②:Emcas 的操作复杂,不易学习。
    • Emacs 没有“颠覆”人们的操作习惯,仅仅是增加了一些快捷键,使 Emacs 做到全键盘操作。对比起 Vim 来说,Emacs 的输入无需转换“模式”,上下左右还是上下左右,没有 变化,不会让人在理解上发生困难。
  • 妖魔化 Emacs 之③:Emcas 的配置复杂。
    • 有很多人上网查看 Emacs 的配置文件,会被长长的配置文件吓倒。但是,不要忘了,写这些配置的人,都是一些程序员,他们对文本编辑器,由于他们要编写的文件,需要一些提示,免得他们在编写的过程中犯错,所以在给配置的时候,就会加入一些自已的要求。而经过我的实验,像我这样的普通人,如果没有特别的需求,Emacs 基本不用配置,而且就算要配置,只要通过 Emcas 的功能菜单就能配置好。所以,实际上并不复杂。

总结

  • Emacs 没有“模式”之分,内容即敲即输符合人性直觉;
  • 有可视化的配置选项,没有特别要求无须修改配置文件。

为什么你应该用 Emacs?

轻松进入“无念编辑”境界,编辑文档高效随心

  • “无念”是什么意思?
    • 对于佛经来说:”无念”就是,”于念而无念”,”于诸境上,心不杂”,即在一切境上、心不被外境所染,在自己的心念上。常能远离一切外境,不在所遇境上起妄念。但不是百物不思,不是无思维存在,不是心中一片死寂,而是”心不染境”,在念念之中排除一切杂念妄想、排除”尘劳邪见”。
    • 简单来说:“无念”是一种极度专心的状态,而人处于这种状态的时候可以最大限度的爆发出自身的潜能,自然而然的达到了自已目的。有的运动员在比赛中因极度的专心,会让人好似进入另外一个世界,而在这个世界中,他什么都感觉不到但又对一切变化都能了然于胸,什么也想不到但又对自已接下来要做的事十分笃定。最后,他就有如神助般,在不知不觉中打败对手。
    • 总而言之,“无念”就是一个人状态最好的时候。
  • 为什么用 Emacs 可以帮助你进入“无念”境界?
    • 因为用 Emacs 来编写文档的时候,在编写文档的过程中 你不会考虑到除了文档内容之外的问题,你所要做的就是把眼前的文档编写完毕。你不会像使用 Word 那样要不停考虑排版问题。在编写文档的过程中,一会加粗一下这个字,一会搞搞标题,这样分心反而无法让你好好地完成眼前的工作。

使用文本记录一切,最绿色便携、兼容性最最强的方案

  • “文本”是所有系统里面都可以使用的格式,在任何系统下你都可以读取/修改它
  • “文本”什么编辑器都可以读取/修改,不需要重新安装软件,不会向系统里面添加更多东西
  • “文本”的体积最小,里面只记录内容,没有多余的东西

Org-Mode,令 Emacs 变成“文本魔法师”

如果 Emacs 没有 Org-Mode 这个插件,我绝对不会推荐 Emcas 给大家使用。但是,由于有了 Org-Mode, Emacs 处理文本的能力得到了大幅度的提高,也使我可以从容的向大家推荐使用 Emacs 来编写文档。

“设置标题”可以让你在编写文档的时候更显轻松

  • 有的人用 Word,会很怀念里面的大纲视图,因为在大纲视图里面可以很方便的浏览文档里面的每个小节,可以从总体上把握文档的内容。而在程序员的世界里面,他们同样有这样的需求,因为他们的工作也要写大量的内容。不过,他们是如何检阅自己写的内容的呢?答案是,他们会把自己写的内容分成很多个段落,然后他们会用到一个叫 代码折叠 的功能,把不需要编辑段落收起来,等要编辑的再把这个段落展开。这样就可以变相的有了“大纲视图”的功能。
  • 在 Org-Mode 设置标题,需要标记一些文本,而做标记很简单,在标题的前面加星号就可以了。
  • 具体是这样:
    * 这是标题一
    ** 这是标题二
    *** 这是标题三
    注:最多可以支持10层标题
  • 究竟妙不可言之处在哪,可以看看这个介绍视频(以后有机会,我会自己亲自录制一个视频):http://orgmode.org/worg/org-tutorials/org-screencasts/org-series-episode-1.php

运用“标记语法”,不用鼠标也能丰富文本效果

  • 有人会疑问,不用鼠标该如何让文字变粗、倾斜、加下划线呢?很简单,只要按照下面的示例来做:
    标记语法 效果
    *加粗* 加粗
    /倾斜/ 倾斜
    _下划线_ 下划线

运用“结构化文本”多格式输出,不再为文档转换而烦恼

  • Org-Mode 支持多种文档的输出,所以只要会用 Org-Mode,就可以随心的把的文档转化成自己想要的格式。这等于“一份文档,多种拷贝”,省心省时省力。
  • Org-Mode 支持转化的格式有:
    • 文本
    • 网页
    • PDF(需要 Latex 支持)
    • XOXO
    • Freemind
    • Docbook
    • iCalendar(苹果 iCal 文件)
    • ……

各种资料

Emacs 的快速教程

Org-Mode 的快速教程

各大中文 Emacs 网站

更新记录

  • 10月3日初稿,更正水木社区 Emacs 版块的链接(感谢 xbeta);更正 Emacs 是编辑器之神的错误,感谢水木社区的网友 anhnmncb

★ 从Vim到Emacs

由于我现在不再用Vim,应xbeta的要求,给《Pkm工具:Vimwiki》一文增加回顾和总结部份,现单独放出来。本文同时更新于自已《个人知识管理:Vimwiki工具》。

缘起Vim

在08年的时候,我就听过这“神的编辑器”的大名了。当时,也曾下载过一次,但是尝试的结果很不如意,打开了之后竟然无法输入中文!心里面想“见鬼 了!这是什么玩意儿!”。但是,因为内心中希望有朝一日能够用上这个东西装逼,我还是没有把它从硬盘里面删去。之后过了很久,我都没有用过Vim,我用了 其它的软件来作为我日常编辑的工具。后来能够用上Vim,还是拜托自已那不折腾会死星人的臭脾气。

在09年的开始,我开始对如何用电脑来记笔记感兴趣。在看过大量文章之余,也尝试了大量的工具。从小巧的Treepad、CintaNote、 PinPKM到以同步而著名的Evernote,这些尝试都无疾而终,不是它们不好而是我想要的方式并不是这样。于是,开始把目光投向了Wiki这个形 式。

同样是尝试了很多Wiki工具,比如xbeta介绍过的WikidPad、ZIM、单机版的MoinMoin、DokuWiki等等,还是觉得太麻烦了。为什么要有该死的后台?为什么不能直接编辑呢?

怀着这样的想法,我的目光又一次投向了Vim,这次我从滇狐1那里知道了Vim上一个叫Viki的插件,可以当把Vim变成Wiki。我很兴奋,但是尝试了之后不得不放弃了Viki,因为把它装上了之后总是出现莫明其妙的错误,这些错误在Windows的环境下又无法解决。

难道Vim上就只有Viki这个插件才能让Vim成为Wiki吗?我又开始了新一轮的找寻。很幸运,我找到了Vimwiki。在艰难地啃了它的英文 说明书 之后。很容易就装上了。而有鉴于当时Vimwiki中文的资料的匮乏,我就写了一篇Vimwiki的中文文档,投稿给善用佳软。之后,我就很欣喜的看到在 善用佳软那强大的影响力之下,越来越多人2喜欢上Vimwiki,有的人还把Vimiwiki的帮助文档整个翻译成中文即3

而我在用Vimiwiki的时候,基本只用Vimwiki,偶尔会用到Calendar来记日记,Wiki的词条写了50个左右,最大的Wiki文档大概有30KB这样。但是并没有很好的坚持下去。于是,Vim用得越来越少了。

转到Emacs

在听说Vim的同时,我也听说过Emacs,但是Emacs在国内不如Vim流行,中文资料比Vim少,所以我一开始的选择是用Vim。但是在一次浏览网页的时候,看到了Emacs下Org-mode的演示视频4,非常的震憾,我没有想到文本编辑器还可以如此华丽!究竟有多华丽,大家看演示视频就知道。视

于是我在今年的6月份开始折腾Emacs。不过最初的目的是用Org-mode来管理自已的日程。折腾着折腾着,发现Org-mode的标记语言,可以很方便的组织文章的结构,于是开始用Emacs来记笔记5,写文章。

后来,我意外地发现原来Org-mode本身就具有Wiki功能,于是开始尝试用Emacs来构建我自已的Wiki。在这个过程中,我又受到 Zoom.Quite的启发,Wiki应该是每日记,在上面积累自已的想法和疑问,并一一解答,自然而然个人Wiki就可以坚持下来了。

如图所示:

http://farm5.static.flickr.com/4076/4865667606_db89b7a4a4.jpg

下面是我的一思考的总结:

  • 我为何对Vim、Emacs这类程序员用的工具感兴趣?
    • 程序员的工作其实就是编辑文本
    • 电脑已经成为编辑文本最主要的工具
    • 选择高效的文本工具,自然要考虑程序员用的工具
    • 最重要的是我本来就对Vim感兴趣
    • 专注于内容建设要比排版重要,而Word显然做不到
  • 为何用Vim、Emacs来塔建个人的Wiki?
    • 这是最经济、最绿色的选择。因为它们是免费的,同时安装的时候不需要依赖其他的东西,不会给系统增加进程
    • 不需要考虑版面的问题,可以专心于内容的编写
    • 直接编写内容,不用进入什么后台之类的,很方便
    • 输入即输出,所想即所得,这是最高境界
  • 个人的Wiki该如何编写?
    • 每天都记录,一直坚持
    • 在Wiki上记录自己想解决的问题,在解决问题时用Wiki记录过程
    • 不必预先分类,当你解决不同领域的问题时再分类

注:

1 滇狐的主页:http://edyfox.codecarver.org/html/index.html

2 来自Gracecode的推荐:http://www.gracecode.com/archives/3022/ 闲耘用Vimwiki塔建的Wiki:http://hotoo.github.com/vimwiki/index.html

3 闲耘翻译的Vimwiki文档:http://code.google.com/p/vim-script-cn/source/browse/trunk/doc/vimwiki.cnx

4 Org-mode演示视频:http://jaderholm.com/screencasts/org-mode/

5 这里有我用Org-mode做的笔记(不完全是):http://www.gtdstudy.com/?cat=297