2019-03-20GNU真相 走下神坛的Linux

我为什么鄙视并抵制Emacs编辑器?

写完《我为什么鄙视并抵制archlinux垃圾操作系统?》差不多5年过去了,今天突然灵光一现,发现这类话题并没有讲完。Linux世界里除了ArchLinux/Gentoo这样折腾人的系统,还有VIM/Emacs这样落后的编辑器,i3/FVWM这样古怪的窗口管理器,让一些自命高手的人乐此不疲。我是真搞不懂,有些人在痛苦的受虐之后得到的只是到处都能找到替代品的东西,真的幸福吗?“高手”的标签真的能让人迅速达到高潮吗?今天就来说说这个GNU Emacs编辑器。

糟糕的第一印象:落后、丑陋、臃肿

15年前我曾在自己的Mandrake电脑上打开过GNU Emacs编辑器,用了5分钟,自此之后15年再也没有碰过。当时对它的第一印象就是特别旧、特别丑,还特别肥。GTK2/QT3在2004年是Linux应用程序界面的标配了,Emacs界面竟然还是1980s流行的粗边框CDE界面(如下图所示),深绿色的背景、亮黄色的文字、杂乱的排版,看着真是倒胃口。它还特别消耗系统资源,启动时间是别的应用的N倍,这在当年就更不能忍了。

这货竟然一直没有中文化?

我喜欢中文化界面,并不是因为我不懂英语,而是因为母语是中文,阅读起来不用绕脑子、更有效率。

玩Emacs这种“高级玩具”,你给我一大堆英文字符,这是强迫让我装逼吗?

百度搜了一圈Emacs菜单中文化,结果没有理想的答案。GitHub上有人专门研究Emacs中文化问题,千奇百怪的问题还真多,连中文断行都会出bug,要手动折腾一番。最后特意百度了一下Emacs的图片,原来这货从未有过中文界面,根本不是因为它有多高级,而是因为它太落后,跟不上时代的节奏和用户的需求。

不过我相信面包会有的,牛奶也会有的,再等20年吧!就像2004年的Emacs还在使用1984年的CDE界面,如今却终于换成了流行的GTK3界面一样……

不能保存文件记录的编辑器算什么玩意儿?

一个没有安装任何插件仍重达133M的编辑器,连最基本的“最近文件”记录的功能也没有,这只是Emacs众多槽点中的一个。先不跟Geany、Gedit、Kate这些典型编辑器相比了,就连体积轻量到只有Emacs 1%的Mousepad都有“最近使用文档”的菜单功能(如下图所示),体积硕大的Emacs竟然还没有,这真是有愧于“编辑器”的称呼啊!

集成一大堆鸡肋功能

Emacs被人称为“神之编辑器”,是因为它更像是一个“操作系统”,它能浏览网站、收发邮件、加密文件、看日历、用计算器、玩小游戏,甚至还能煮咖啡。

样样都有,可惜样样都不专业。

拿浏览网站来说,那排版交错的界面能看吗?

小游戏竟然还是字符组成的,有意思吗?

还有日历这种鸡肋功能也放到Tools菜单里,它就能闪闪发光吗?

都是滥竽充数。

浏览网站我用专业的Firefox不行吗?

收发邮件我用专业的Evolution不行吗?

加密文件我用专业的TrueCrypt不行吗?

看日历还要这货?右下角一个不知名的awn-applet就可以看日历,或者一条date命令即可。……

如果拿经济模式作比,Emacs奉行的正是GNU运动所主张的反现代化的自给自足的经济。对于这种经济模式,我在小衲说说里曾有过比方:“张大麻子和王二麻子都在卖鸡肉卷饼。王二麻子这人特别喜欢造轮子,面饼要DIY,鸡要自己养,连生菜都是从自家菜园采摘的,结果浪费了大量时间,卷饼生意却怎么也起不来。而张大麻子这个人很聪明,直接从超市里购买面饼、鸡肉、蔬菜等原材料,不仅节约了自己的时间,而且卷饼卖的很好,生意很红火。这个故事告诉我们一个经济学原理,分工和交易其实对买卖双方都有利。固执的王二麻子奉行的是自给自足的经济,事必躬亲,什么都要自己动手,既没有给专业制作面饼、专业养鸡、专业种菜的人任何好处,同时也浪费了自己的时间,做出来的还都是半吊子残次品,真是害人又害己。”

配置和使用过程无比折腾,纯粹浪费时间

跟ArchLinux/Gentoo或VIM一样,Emacs配置起来也是相当复杂,你不得不把大量时间花在学习、研究和优化配置上,甚至为此你还要学习一门古老的编程语言——LISP。这些配置工作的最终目的只是让这个编辑器变得可用、变得像个IDE。

结果,这种受虐的过程基本上都是做无用功,因为VSCode、Atom、Sublime这些面向21世纪的现代化编辑器从一开始已将这一切默认优化好了,拿来就可以用。

然而问题是,就算Emacs配置好了所有插件、实现了所谓“无所不能”的美妙境界,其使用过程也如地狱般折磨。

一大堆与众不同的快捷键需要记忆,一大堆复杂的命令需要花时间输入,图形界面中只需鼠标点点点就能轻松完成的,在Emacs里全都要在文本界面里敲击键盘完成。

拿坊间吹到天上去的org-mode来说,它的目标就是实现一个任务安排、项目计划、笔记的功能,也就是Evolution里的Calendar+Tasks+Memos。你看Evolution那种图形界面操作多方便,鼠标划划划就可以轻松搞定,再看看org-mode的中文“简明”教程,我的天,满屏都是关于快捷键和符号的说明,为了实现微不足道的功能,要去熟悉大量的快捷键组合和各种符号,这效率该有多低??还有其他插件神器,全都需要告别鼠标、告别GUI,在文本界面里用键盘苦逼的探索,这不是自虐又是什么??

这一切在Emacs之外有很多带GUI的专业替代品。面对能节约人宝贵时间的(如Atom、VScode、Evolution等)同类专业竞品,究竟还有谁能禁得住诱惑,仍坚持做苦行僧浪费自己的生命让Emacs狂虐?

就像《关于vim和emacs两个编辑器的想法》这位同学最终得到了痛彻的领悟:“其实,最最最,关键的是把正事给忘了,说好的学习语言,编写代码练习时间呢,都大把大把的配置一个editor上了,正事还没开始干呢...,我在舍本逐末这条路上走的太远太远”。

“高手”标签让一些人神魂颠倒

有一个Emacser在CSDN上发表过一篇热门博文,以“高手”和“神用编辑器之神”的姿态一个劲地说Emacs的好,甚至将Emacs在图形界面里的Bug归咎到图形界面……像这样神魂颠倒的Emacser还有很多。

明明知道Emacs特别落后、特别难用,可他们总能突破困难坚持下来,一个重要原因是他们仰慕高手、爱慕虚荣、对自己的标签异常在乎,就像大神王垠所说:“如果每个人都会做一件事情,如何能体现出我的超群智力?所以我就是要专门选择那种最难用,最晦涩,最显得高深的东西,把它折腾会。这样我就可以被称为高手,就可以傲视群雄”。这种片面追求标签的心理就是“装逼”。

为了装逼,他们鄙视鼠标党;为了装逼,他们诅咒图形界面;为了装逼,他们宁愿使用黑底白字的界面让自己眼瞎

通过痛苦牺牲的过程来获得最终的快感和幸福,这无可厚非。但是,如果最终产出的是到处有专业替代品的东西,那就是空耗生命了。长达一年的折腾之后产生的欣快感,对于很多需要用时间换取生存权的码农来说,是有毒的;长时间受虐之后被贴以“高手”标签而产生的荣耀感,都是虚幻的,因为这种标签根本不是衡量价值的尺度。

专为GNU运动而生

1985年3月份,斯托曼终于把Emacs捯饬的差不多了,他认为自己有了干一票的资格,于是就在同一月发表了《GNU宣言》,打响了GNU运动的第一枪。

在《GNU宣言》里,Emacs被列在所有GNU可用应用程序的第1个。Emacs所到之处言必称GNU Emacs。Emacs编辑器如今仍挂载首页的编排混乱的文字,其顶部就是一个GNU的logo,点击进去就是GNU.org官网首页。可以说,Emacs从诞生第一天开始就成了GNU运动的象征。

GNU运动是什么?我在《精神领袖的60条妄语》和小衲说说GNU话题谈了很多。这里只需拿出GNU官网一句话:“比起我们的价值选择,(软件的)实用性只是附加和次要的”。从这句话可以看出,GNU运动是事关理想和信仰的事情,GNU运动的目的不是为了让软件本身更实用、更好用,而是将软件视为传播思想的载体,达到消灭软件私有化、实现软件公有化的政治目的。

因为GNU事关信仰和思想,所以GNU Emacs根本不用考虑它的实用性,不用考虑市场经济中广大用户的真实需求,不用理会现代化的软件产品应该如何发展,它只要能在“自由软件社区”的小圈子中延续它的“价值选择”即可。至此,GNU Emacs那么垃圾、那么难用的谜底终于揭开了!

GNU Emacs是没落卫道士的工具

界面丑陋、体型臃肿、编程语言过于古老、网络资源稀少、折腾人的中文化、默认缺乏语法高亮功能、默认缺少历史记录功能、一大堆快捷键需记忆、org-mode功能其实很弱……Emacs的槽点真的太多太多。

易用编辑器如Atom、VSCode、Sublime不断崛起的今天,Emacs这种上古编辑器真的可以扫进历史的垃圾堆了。

少数Geek极力推崇落后难用的Emacs,除了上面所说的装逼动机以外,有时候更多的是“信仰”或“理想”使然。然而,信仰和理想能证明什么?证明他很善良?证明他很高尚?恰恰相反。就像我在小衲说说里所说的:“很多理想主义者的信仰建立在需要他人配合牺牲利益、配合改造思想和行为的基础上,这种信仰其实是邪恶的信仰”。

从Emacs身上,我们看到的正是GNU思想反现代化、反私有化、反商品经济、反市场需求、反人类社会的影子,它只是GNU卫道士们延续信仰的工具,它从未被当成实用软件真正地被广大用户使用过,也很少被他们极力鼓吹的“自由社区”认真针对广大用户的需求改造过。

那么,视应用软件为实用工具的、不爱装逼、不喜宗教意识形态的我,当然抵制使用Emacs。

↑ 落后、丑陋、臃肿的Emacs编辑器的初始作者、GNU运动精神领袖理查德·马修·斯托曼

33 Responses

  1. 藤原千花说道:

    很有道理,自己用着舒服的工具才好,舍本逐末浪费时间实属不该

  2. laoxu说道:

    我用VScode,配置不好Emacs,都把卸了

  3. laoxu说道:

    我编程学习的,所以不想配置什么

  4. Rosario S.E.说道:

    同志,没有调查就没有发言权……

    动动手指头搜一搜spacemacs、doom emacs,分分钟可以美哭你。怎么能拿没刷漆的混凝土高楼跟装修精致的茅屋比呢。

    arch配kde,甚至配i3都可以做到比mac还漂亮,你可以多去看看的。要说实用性,我macbook装macOS续航9小时,装arch简单配置一下内核就有14小时,这正是我想要的。

    你不把emacs的recentf功能打开当然看不到最近文件,随便装个helm或ivy,按下C-x C-f看看?

    org-mode可以内嵌代码,可以文学编程,可以内嵌latex,可以让你写起论文不用管格式,可以写博客一键导出堪比静态博客生成器,可不单单是一个笔记工具哦。

    emacs可不落后。我希望我的编辑器有一个标记中文句子的主谓宾的功能,上网找了好久都没发现哪个编辑器支持得很好,于是我就花两周的课余时间给emacs写了一个这个功能,它现在叫cnhl。

    想学emacs也不费时,去看看陈斌大大的一年精通emacs吧。

    文化方面,去emacs-china看看吧,结识一些真正高素质的朋友。

    退一万步来讲,你说一个帮助消灭私有化、实现公有化的软件是垃圾,那你有没有想过中国是一个什么主义的国家呢?我只是一个普通的文科生,没有你们程序员懂的那么多。我只知道英特纳雄耐尔一定会胜利。

    我花一年学习了emacs,现在我知道我一辈子也离不开它了。这不是炫耀,这是爱。

    • admin说道:

      不仅emacs,而且整个Linux桌面系统,我“调查”了10年,结论就是太low太低效。不过在激发因特纳雄纳尔等神精方面,GNU/Linux挺能的。

      • Gpper说道:

        确实,Linux桌面系统就没有能打的,服务器还行

      • V说道:

        比起现在的Windows 11,你会发现Linux系统桌面的优势出来了,至少不是用户提需求而公司看着想改就改、不想改没法;如果是Linux,想要个什么功能自己动手,所有的系统接口,所有的功能都有文档可查,高度定制化。
        这就是GNU精神为什么吸引人。有的时候就是需要一些个性化的需求,我们不需要花大量的时间找一个合适的软件,而是自己动手。
        你提到了vscode,但是你要知道的是,vscode也是开源软件——而且是MIT许可,这本身也是一个符合GNU精神、和GNU兼容的许可证。不同项目没有好坏,只有是否适合。举个例子,Emacs也好vim也好,都让人不需要使用鼠标,从根源上避免了鼠标手;而且操作习惯之后相当顺畅,因为手不再需要离开键盘。
        存在即合理,而且要认同自由的意义和价值。

    • CrystalNeko说道:

      这东西我真觉得不如vim简单好用...

  5. k说道:

    你的吐槽点很典型,然而忽略这些缺点让人忘记什么是编辑器或者很长时间才能弥补回来编辑相关的这些认知。比如source insight确实让小白上手容易,但糟糕的是编辑保存的文件在其它编辑器里面打开的时候乱七八糟。退一步,任何编辑器真的不需要配置吗?!
    另外一个关乎信仰的问题,我理解价值是大众奉献与共享。你可以看看当时的历史背景下stallman为什么创建gnu。当今vscode确实让人爽了,可是最近为什么开始有人转vs-coduim了呢。ms才不会无私奉献吧,它只会鼓励大家赚钱,然后自己大赚。就等着你们上套呢。软件本身无害,可恶的是利用它的人心险恶。linus被bitkeeper坑过,才会有git。

    • admin说道:

      “退一步,任何编辑器真的不需要配置吗?!”
      99%的大众用户没有太多时间去配置一个工具。像Emacs这种需要1001个步骤才能配置好的,只能算垃圾。关键问题是,就算Emacs配置好了,也是个没有生态的半成品。浪费时间折腾Emacs的所谓“大神”其实还不如普通用户聪明。

      “价值是大众奉献与共享”
      就算极端社会如文革时期,人们也不会说只有奉献才有价值。你这种偏执的认知,来自于现在的物质状态。等你父母不再供养你,你再来看看你说的对不对。

      “ms才不会无私奉献吧,它只会鼓励大家赚钱,然后自己大赚。就等着你们上套呢。”
      所谓上套,就是说最后被割了亏的很惨。ms让大家赚钱,最后大家都有钱了,何来上套一说???没啥逻辑和经验,就用阴谋论来凑?

      “软件本身无害,可恶的是利用它的人心险恶。”
      如果提供工具软件的人想借此赚钱,就是人心险恶,那我只能说,你需要很多年才能摆脱你的平庸和烦恼。

      结论:学生伢还是尽快用自己的知识技能变现赚钱吧,别指望能靠信仰和瞎BB活下去。

  6. 说道:

    虽然我用的不是 Emacs ,不过看来你连 Emacs 的 133Mb 里面有多少东西都不知道也敢在这妄加评论。
    (add-hook 'after-init-hook 'recentf-mode)
    看到了没,配置文件里一行就可以设置查看历史文件。
    然则世间之事,但知其一,不知其二者多矣。可据理臆断欤?

    • admin说道:

      追求效率的用户不需要探索如何配置,因为没有多大价值。追求效率的用户需要的是拿来即用的自由,而不是浪费时间的“自由”。

      • Rosario S.E.说道:

        我们用emacs,不是为了你所认为的“便利”。我们有的是追求那种掌控一切的快感,有的是为了学到新技术、了解新领域而进行投资,有的是为了完成那些在别的编辑器中难以完成的工作(比如信手拈来的宏和扩展函数),还有的是为了在你看来浪费时间的配置中体验生命、享受生活。
        就拿我来说,我想要的,是一个能够随心所欲做好自己想做之事的编辑器,而不是一个为了多一分“便捷”而设计得无比复杂的系统——这是因为我们的精神足够富足:我们不追求拿来即用,当需要拿来即用的时候我们自然会选择可以拿来即用的编辑器。我们追求的是一种体验——生命是一种体验,我们的一生就是在体验中获得生命的快乐。这是马克思对人生的解答。
        Emacs,从它宝藏般的功能、简单的拓展方式,到它藏龙卧虎的生态、和谐友好的社区,甚至神秘的lisp语言本身,都给我们的生命充实进一种奇妙的快乐。在emacs面前,我仿佛找到了儿时初见这个世界的感觉,令人欣然愿往;熟悉它后,我又可以深入挖掘下去,并与此同时创造价值、获得快乐。有人喜欢玩游戏,有人喜欢手工DIY,而我们喜欢hacking emacs。
        今天,你可以这样用你的观点抨击emacs,明天就可以这样抨击游戏,抨击DIY,抨击手工烘焙,甚至抨击非遗传承。在发表观点之前,最好先弄清问题是什么。在弄明白他人的想法之前,最好对他人保持尊重。
        或许有人会觉得这只是我们的想法,大多数人不这么想。那你用“大多数人认为”来无缘无故抨击我们,难道是对的吗?
        看了作者站内的一些文章,作者其实也是一个很有心很广博的人。只希望你的生活能够更加幸福,多一些爱来看待我们的世界~

        • admin说道:

          你的回答还是蛮好的。人生确实需要一些不同的体验。如果拿玩儿的姿态来与emacs相处的话,我倒是非常欣赏。

        • helx说道:

          实用性和兴趣爱好为目的的把玩不能混为一谈。

      • 你好世界说道:

        很明显,你的观点有些道理,这种小众甚至GEEK的软件压根不是为99%的别领域用户而存在的,有人喜欢掌控一切的快感,有人喜欢「开箱即用」的不用考虑的烦恼,你能说哪个对哪个错?正如下面这位「Rosario S.E.」所说:「在弄明白他人的想法之前,最好对他人保持尊重。」我们更应该鄙视与抵制的是虚荣与攀比——这两件让人不更好地享受生活,只顾着虚名——非科学家这种用实力赢得喝彩的推崇,而是没有什么努力,只为了高人一等的攀比。工具是人之工具,人不是工具之奴隶。但你不能因为他使用的工具需要经验驾驭就看不起使用工具的人——为了解决事情的人。

        • admin说道:

          掌控一切的快感是不错,沉迷于游戏当中会有相当大的快乐,每个人都有自己幸福的实现方式,这些我都不否定。
          本文否定的是将Emacs吹上天的人,和一些将所谓道德信仰与应用软件挂钩的人。

          • maooooo说道:

            看了这条评论,我终于理解了你的观点,但不得不说,你的观点确实有些道理。
            毕竟有罪的不是软件本身或其创造者,而是哪些自诩清高的用户。

          • admin说道:

            呵呵。我现在不偏激了。因为我现在只用Windows,只喜欢Windows,已经忘掉了Linux为何物,Emacs对我来说就像UFO。我是个“叛徒”,这非常极端,也非常有道理。

  7. Leeds_Garden说道:

    通篇下来好像没有毛病………
    话说,emacs不是主要用来开拓视野的吗,效率工具neovim才适合吧,配置文件用coc下来都没几行。
    真正的“懒”人,才用emacs,一劳永逸。

  8. abcd说道:

    做了20年软件开发,现在写文档就用org-mode,emacs的路子是阴柔的,但它无所不包,强大到没有边界。VIM的路子是刚猛的,码代码所向披靡。这两货我都用,org-mode能够完全容纳我想表达的各种想法。VIM能快速把我的设计变成代码。完美!

    • admin说道:

      在Linux这个小小世界里,没有谁会说VSCode强大到没有边界,因为吹商业公司的软件,道德上必有问题。(斜眼笑

      • abcd说道:

        同样的,把一个开源软件和开源先驱说得一无是处,道德上必有问题。世界的两极都是一样的寒冷啊,呵呵😊

        • admin说道:

          不知道你发现没有,在这个世界上,每个人都觉得自己很有良心【善】,长得也好看【美】,还掌握了真理【真】。

  9. admin说道:

    刚才有位同学怼了一大通评论,被我无情的永久删除了。真不好意思。
    注意我写这篇文章的初衷:任何软件都应该是个工具,工具要为主人节约时间。多谈些问题,少谈些主义。不认同这种观点的人请闭嘴。阵营对立,调和很难,该干嘛就干嘛去。
    上手简单、免费而又现代化的编辑器太多,新人大可不必挑选Emacs。就像五笔输入法打字速度可快了,但时到如今还吹嘘五笔,就显得与这个社会格格不入了,毕竟键盘输入不是要紧的事情。

  10. admin说道:

    这世界,很多东西都会落后被淘汰。像FVWM这种窗口管理器,现在折腾它到底有多大意义?但仍有极少数人乐在其中。这种快乐,其实是受虐痛苦之后的解脱感。犹如极限运动,追求的是刺激。人生嘛总有一段时间特别英雄主义,特别喜欢玩点不一样的,我呢现在只求安稳求不折腾,所以肯定不推荐这些事物,也不欣赏这些事物。

  11. wang说道:

    写得不错,很走心很尖锐。一些观点确实切实,看透本质。在我看来,有个别观点不对。像黑底白字让人瞎眼,众所周知编辑器的黑底是更护眼的。vim我用了一段时间,确实高效,上手难度也不大。至于一切关于emacs的批判,不做评论,因为没用过。

  12. DL说道:

    emacs还行吧,在那个没有鼠标的年代,用键盘操作比较方便。主要是作者不会用emacs,对emacs lisp也不太懂,所以才会这样讲。举个例子,学打字的时候,你可以认为键盘的排列乱七八糟(为什么不是A排到Z?这样好记),但等你学会后,就觉得这样排列键盘字母,打英文字很快的,还是蛮好的。

  13. rainboi说道:

    好用的工具永远是易用而轻量的,gnu emacs完全就是个怪胎,臃肿、需要较长的学习时间
    终端编辑器鄙视链最底端nano我认为最好用,不到1mb的大小,支持语言高亮、多页面、快速执行命令这些关键的功能,而且占用内存低、运行速度快、不需要记忆任何命令与快捷键,至于编写大型工程,为什么不直接选用IDE?专业的事情就交给专业的工具。

发表评论

电子邮件地址不会被公开。 必填项已用*标注