这个观察很不错,让我想到The Art of Unix Programming里的一句话, 我想Unix替换成Emacs也是成立的:
Unix is often said to have been written by programmers for programmers
这个观察很不错,让我想到The Art of Unix Programming里的一句话, 我想Unix替换成Emacs也是成立的:
Unix is often said to have been written by programmers for programmers
謝謝提醒,我的意思是我用 pyim 實現的基於拼音首字母搜索,因爲印象中還有其他方案 → 修改了一下讓表達更清楚,並添加了基於雙拼字母搜索,也是我經常用的功能
想到 emacs 還有一個好處,就是很多插件的作者就在本論壇,你的 pyim,還有 emacs-rime、citre 等等,甚至我用的輸入法(魔然)的作者也是本論壇道友
确实是,emacs-china 氛围特别好,大家讨论吹水,几乎没有戾气,这个相当难得
emacs 对我来说唯一的吸引力就是高效的键位
我平时的文字编辑工作 (不包含 coding) 几乎全部是先在 emacs 的 *scratch* buffer 中打好草稿+润色, 然后再 po 到要发的论坛中去. *scratch* buffer 的默认 mode 在我这里是 markdown-mode.
有了顺手的键位, 文字编辑绝对是一种享受. 只不过肌肉记忆让我很难受, 已经很多次在浏览器中按 C-w 结果把整个网页关掉了
我也做过这个事情,所以已经把浏览器的C-w给禁用了。以我常用的 Firefox 为例,访问about:keyboard,找到对应快捷键,取消绑定即可
对我来说,emacs 最大的魅力在于构建了一套 基于 buffer 的统一抽象,这是极具美感的存在。我了解的类似的统一设计还有 plan9,powershell。
下面是 AI 对三者的对比总结:
| 系统 | 核心隐喻 | 口号 (Motto) | 本质 |
|---|---|---|---|
| Plan 9 | 文件 (File) | Everything is a File | 统一的 I/O 接口 (Protocol) |
| Emacs | 文本 (Buffer) | Everything is Text | 统一的 交互界面 (Interface) |
| PowerShell | 对象 (Object) | Everything is an Object | 统一的 数据结构 (Structure) |
open, read, write, close。/dev/mouse 文件里写数据,或者读取 /net/tcp 文件来建立连接。ls 输出的是一堆字符。要获取文件大小,你需要数它是第几列。ls 返回的是 FileInfo 对象列表。你不需要解析文本,直接请求 ls | select Length。即使界面上显示的格式变了,底层数据依然是对象,脚本不会挂。四十不惑,等你到了四十岁就不困惑了。
(话说这个坛子里有四十岁的人吗,感觉年长的前辈们也就三十岁左右)
maybe有吧
一开始是用不习惯vim的模式切换,emacs键位可以在大部分编辑器和ide里找到插件。后来发现org mode,我之前记笔记用typora写md,然后org mode满足了我在typora里的所有需求还更强大。写代码的话,除了写lisp和偶尔用tramp,我还是喜欢用ide。
在大模型普及之前,Emacs对我来说是玄学天书,是带刺玫瑰。“神之编辑器”声名在外,引得人反复尝试,然后放弃。我用它写Python,发现PyCharm真好用;用它写Org-Mode笔记,发现思源笔记真好用。
时间消解了噪音,转折出现。一边是逐渐强大的大模型足够辅导我使用Emacs,另一边自己逐渐领悟:软件自有核心与边界,各安其分。现在工作中我还是用PyCharm配合思源笔记,业余记录开始引入Emacs。
我和大模型对话,和它聊经济学、生活观察、人生哲理,让它帮我算卦解卦。每次对话后就让它生成一份Org-Mode总结文档。文档挂载在S3上云同步,每天都在Emacs书签中更新五个随机书签作为回顾。
说到核心和边界,Emacs的优势就在于它是一个软件,也是一个框架,一层UI外壳,不需要拘泥于一种使用方法。比如我就学不下去Elisp,所以大模型建议我用Python写每日回顾的工具,只用Elisp调用结果。如果我用思源笔记,就只能翻找插件,或者逼自己学JavaScript。比如我觉得Git操作很复杂,不适合随性的个人笔记,那就用S3挂载,毕竟纯文本文件,随意操作。
在软件世界,Emacs是一个四十岁的前朝遗老,很多新奇功能不会有官方的支持。但是Emacs有自己的核心,就是Elisp解释器和文本缓冲区的框架。牢牢把握这个核心,知道这个核心能做好什么事情,剩下的边界交给其他工具,做好配合就行。
有的,可能人到四十,精力慢慢衰减,再加上上有老下有小,有时候已经无心困惑
还真是除了去世这件事,其他的情况都不年轻。。。
(这括号里的文字真是一把刀啊)
是的,Emacs 整个平台可以看作是一些基本抽象规则确定后,通过 elisp 表达式一个括号一个括号的堆起来的 minecraft 。Emacs 是一个开放世界,没有明显的构建环境和运行环境的界限,你可以在 Emacs 里修改它并且马上看到效果。
emacs还有一个关键的决策,没有包之类的隔离概念,相当于在开放世界里没有墙,没有特权,想怎么连接就怎么连接
共用buffer,不同作者的package在没有特意设计的情况下也大多能协作,的确是非常迷人了
Minor Modes: 这就是我们热血沸腾的组合技啊!(x