今天即兴问了AI一个关于Emacs的问题,我觉得回答很有趣,在这里分享一下。

用emacs的动机是因为在emacs里找到了自由的感觉, 用vim的动机是为了方便在服务器上编程; 目的差别还挺大的()

1 个赞

While any other text editors can save your files, only Emacs can save your soul. :blue_heart:

1 个赞
  1. 作为一个可自编程的编辑器 emacs可以随着环境的变化而进化 不太容易被淘汰。看看melpa上数以千计的packages. 相比许多其他一时风光 过不了多久就无人问津的编辑器 emacs可以让用户投资的时间得到长期的回报。

题外话 和emacs这种特性类似的其他长寿软件还有比如Postgres Minecraft

其实ai有什么观点啊,它没有的,这完全是被蒸馏进去的刻板印象。把这个原样发给ai,ai自己就会反驳。

我喜欢可以自己动手按喜欢的方式解决问题的感觉,刚上手的时候确实磨合了几个星期,不过到大概能用的程度,我的 .emacs.d 仓库就不太再频繁提交代码了。个人也没有觉得用起来有多困难,我已经在 Emacs 做完了本科毕设,Python、终端、LaTeX 都放在里面操作,逐渐磨合、熟悉之后,是真挺好用的

我自认精神状态已经非常贴近雅尼猫

2 个赞

说得挺有道理,坦然接受。 另外,除了这些“外部”的认可之外,“内在”的乐趣也是很重要的因素之一。 Emacs折腾起来的确是挺“好玩”的。

好像都不涉及,用的开始其实就是最早c++可选的不多,只有vim和emacs可以在server端直接开发和调试,但是开发机又不允许外网,vim各种插件很乱,无网不好下,emacs,在本地windows装好,直接cpu过去就能用,毕竟大部分都是elisp,现在基本都是java,就用的少了,主要就是org做下日常记录和工作安排

1 个赞

Emacs好就好在很容易定制。想要给Vim或者VSCode增加个功能挺麻烦的。而且我不太喜欢Neovim和Lua。最后发现还是Emacs好用。如果平时的需求只是写写文章之类的,代码编辑器太重,字处理器又太麻烦吧。

别抓着 emacs 不放了, 现在所有古法编程技能沦为"昂贵信号与身份认同"了

3 个赞

发明『古法编程』这个词的人真是太伟大了!堪比启蒙运动时期圣皮埃尔神父使用progrès一词表示人类精神的进步

4 个赞

Emacs != 古法编程. 坚持使用手写生成代码才是古法编程

AI编程时代, emacs在AI辅助开发方面可以进化为agent的控制台, context管理器, prompt生成器, 任务管理器. 不仅仅产品代码是AI+emacs生成出来的, 连需要什么新的emacs功能, Elisp都是拿AI生成出来的.

2 个赞

既不是真正的古法,也不是编程的本质

2 个赞

我当时接触 Emacs 是因为自己的笔记本写代码发烫,再加上内存不够总硬盘,导致编程体验很差。在考查了 Vim 和 Emacs 后,发现实在无法适应 Vim 的三种模式,这才最终定下来 Emacs 的。后面发现真的是 SSH + Docker 的无敌配置,因为这样就可以不用换笔记本了,只需要在我那台嗷嗷叫的台式机启动起来,放在一个我听不到声音的地方就可以了。 :rofl:

说实话我现在绝对玩 emacs 和玩钢笔之类的爱好没什么区别了。玩钢笔只看不写字的人虽然有,但是我觉得还是不多的,大部分人玩钢笔应该还是会拿出来写写字,但是真正的生产力已经肯定不会再用钢笔来写字而是敲键盘了。就像现在 emacs 还是会拿出来玩一玩,用古法方法来写写程序/prose 用,作为一种具有“仪式感”的工具来使用。但是日常的编码工作应该基本都是交给 agent 来做了。可能最多就是用 emacs 来看看 diff?

楼里面有人说可以用基于 emacs 搭建的 agent,可以是可以,但是我觉得用 emacs 搭建的 agent 恐怕真的没有特别大的吸引力。agent 不需要像人类一样需要一个可交互的编辑器环境,用 bash/python 这样的解释器来操作环境反而比 lisp 对于 agent 来说反而简单的多,emacs 本身作为一个 scriptable 的可交互编辑器 + 代码解释器这个对人类极客来说最好玩的地方对于 agent 来说毫无吸引力。。。

1 个赞

听起来像是那句古老的吐槽 emacs 的话:emacs 是一个操作系统,只是缺少一个优秀的编辑器。

我觉得即使大部分的工作由agent完成,使用emacs还是能提供额外的价值的。这里是说emacs + 业界成熟的高质量的,有足够support的agent。

首先,有了agent以后,未来的工作交付重心还是不是代码?如果agent什么都可以做,什么都可以交给agent完成,不再需要开发和维护代码,那么emacs在coding这块的价值就大大降低了。个人以为,目前,agent还没有这样可靠的能力;即使有,它的成本和响应速度大大落后于一套稳定可靠,详尽测试过,用于完成特定任务的代码。如果代码还是需要的,那么人类审查,修改,选择特定代码作为context交给agent的能力也是需要的,这都是emacs可以提供的价值,单靠agent做不了这些事。

进一步,就算coding不那么重要了,代码沦为新时代的汇编语言,prompt作为新时代的编程语言,那么,prompt也需要一个好的编辑,管理,阅读环境。单靠claude code, codex cli那些命令行工具来编辑prompt,简直有点像在python shell里写一个大的python程序。emacs的文本编辑(比如强大的org-mode),管理,version control (eg. magit),在prompt编辑的时候也可以提供agent缺少的能力。

emacs 本身作为一个 scriptable 的可交互编辑器 + 代码解释器,可以在上面的需求中动态的提供各种可能需要的能力。这恰恰是它可以在环境变化的时候,可以主动进化,适应环境,并存活下来的能力。

2 个赞

Emacs的价值恰恰在于它不是一个专门用来编程的IDE,而是一个文本处理的框架。agent减少了编程方面的需求,但是并没有消除文本编辑的需求。

3 个赞

finalpatch

vim对我来说实在是过于反人类了,模式编辑的快捷键很难记,而且我发现visual mode下面vim对光标位置的理解永远和我不一样……相比之下Emacs正常许多。中间我用了很长时间的Atom,但是Electron很长一段时间内都没有Wayland支持,NVIDIA的XWayland之前又有同步问题。当时支持Wayland且功能丰富且不是vim的代码编辑器就只有Emacs了所以我就用回Emacs了……

1 个赞