外观
Emacs 社区日报 2026-07-20
约 5569 字大约 19 分钟
2026-07-20
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
专题一:Emacs 图形化主题与实践——从图标包到窗口美化
群内多位用户对 Emacs 的视觉风格和用户体验进行了深入探讨,核心围绕着图标包的开发、窗口分割线以及 mode-line 的取舍展开。
1. SVG 图标包 material-icon.el 的创新与痛点
- 核心观点: 开发者
zdn复刻了 VSCode 的热门图标扩展,开发了一个基于 SVG 的 Emacs 图标包(material-icon.el)。其亮点在于 SVG 图标支持彩色、易于扩展(直接从官网 F12 下载 SVG 文件,写键值对即可),并且力求覆盖dired、ibuffer、speedbar等内置功能,做到开箱即用。 - 技术难点:
- 依赖问题: 需要
libsvg支持,且libsvg不支持动画,限制了创意(如无法引入前端的 SVG 动画)。 - 版权顾虑: 作者担心复刻 VSCode 扩展的图标可能存在版权协议问题,需要仔细检查上游协议。
- 上架 Melpa 的长战线: 由于 Melpa 维护者只在周日夜间统一 review PR,且要求仓库 “养” 满一个月,导致上线流程缓慢。
- 依赖问题: 需要
- 社区反响: 其他成员提出了对比性问题(“和
nerd-icons有什么区别?”),并给出了建设性建议(如说明“从个人长期维护的仓库中剥离出来”以加速 Melpa 审核)。最终包已发布,社区反响良好。
2. 窗口视觉设计:window-divider-mode 与 mode-line 的恩怨
- 核心矛盾:
zdn倾向于省去mode-line以获取更干净的界面,但这导致在多窗口时难以区分窗口边界,因此他依赖window-divider-mode来显示分割线。然而,分割线会自动绘制在minibuffer区域,形成一条不必要的横线,让讲究完美的他难以忍受。 - 解决方案探讨:
- 有人建议动态切换颜色或根据 buffer 类型定制,但复杂度过高。
- 有人指出将
window-divider-default-places设置为'right-only可以只显示垂直分割线,避免minibuffer底部的水平线。 - 最终
zdn通过条件判断(当窗口数 >1 时启用分割线)解决了问题,但底部的minibuffer横线问题在本次讨论中未能完美解决,最终以 “不琢磨了” 搁置。
- 对
mode-line的不同态度: 群聊呈现了鲜明的两极分化:有人追求极简关闭 mode-line(用其他信息提示替代),有人则推荐新出的超轻量sleek-modeline,认为“嫌弃不如把它变好用”,强调 mode-line 是 Emacs 的身份标识。
专题二:Lisp 编辑器的未来?——lem 编辑器深度剖析
一位群友 yibiechen 分享了以 Common Lisp 编写的编辑器 lem,引发了关于编辑器架构、编程语言生态和 “Emacs 接班人” 的热烈讨论。
lem的核心亮点:- 架构先进: 采用前后端分离(SDL2, ncurses, 或 Webview 前端),原生支持多线程,通过
sbcl保存 image 实现秒开。前端 Webview 支持M-x living-canvas生成函数调用依赖关系图,这是 Emacs 缺失的能力。 - Vibe 编程友好: 社区鼓励 “vibe”(指用 AI 快速生成代码),作者本人也如此实践。
yibiechen甚至为lem贡献了tramp的功能(尽管有 bug 正在 review)。 - Markdown 预览惊艳: 内置 Markdown 预览功能,直接在 Webview 里渲染,实时且漂亮,与 Emacs 依赖
pandoc或eww的体验形成鲜明对比。
- 架构先进: 采用前后端分离(SDL2, ncurses, 或 Webview 前端),原生支持多线程,通过
- 与 Emacs 的对比与展望:
lem并非取代 Emacs,而是参考其设计,利用 Common Lisp 的优势(多线程、秒开、强大生态)进行创新。- 有人认为
lem可能是 Emacs 的“另一种可能”,凸显了 Emacs 在原生多线程和 Web 集成方面的历史包袱。
- 生态讨论: 提到了 Helix 的
steel方案、日本开发者fukamachi(深町英太郎)几乎一己之力构建了 Common Lisp 的 Web 生态(从 server 到 ORM),展现了 Lisp 社区的长尾活跃与工匠精神。
🔑 关键概念与技术解析
corfu+ 鼠标支持:corfu(一个 Emacs 补全弹出菜单包)在本次聊天中合入了鼠标支持(commit 3cacdaf3701d)。这解决了纯键盘补全外,鼠标用户也能通过点击选择补全项的需求,提升了补全的易用性。telega补全问题:telega(Emacs 的 Telegram 客户端)在解析没有空格分隔的emoji和 URL 时出现 bug,将emoji错误地判定为 URL 的一部分。这属于客户端解析 URL 时的正则或字符判断 bug。window-divider-mode: Emacs 内置的分割线模式。用于在窗口边界绘制线条。zdn的用法展示了通过自定义window-divider-default-right-width等参数,可以将分割线从细线变为可定制的视觉分隔,甚至通过'right-only指定只显示垂直分割线。shrface包: 一个 Emacs 包,用于将eww(Emacs Web Wowser)渲染的 HTML 内容转换为类似 Org-mode 的样式,从而在 Emacs 内获得更美观的 Markdown/HTML 预览体验。
💎 碎片知识与金句拾遗
- Emacs emoji 现状: “emoji 甚至 emacs30 都还没有支持”,“我是自己编译到了 emacs32 才有彩色 emoji 支持的”。这说明了 Emacs 在原生 Emoji 渲染上的困境。
- SVG 在 Emacs 的潜力: “emacs 对于 svg,它能给 svg 绑定事件,这个就很厉害了”。这展示了 Emacs 对 SVG 的高级支持,使其不仅是静态图,还可以作为交互组件。
- 关于审美与态度: “日本人对 common lisp 情有独钟”;“日本特有的工匠精神会一直磨这个项目,负责到底”(有人以此评价 Fukumachi 和 lem 项目)。同时,“日本的程序员还是很潮的,毕竟是老资本主义社会”,“而且日本人在意审美”。
- 关于 AI 辅助编程的反思: “作者说自从用了 ai,有一回给同事写 sql 不会写,呆住了”。这是一句关于 “vibe” 编程的幽默反思,暗示过度依赖 AI 可能削弱基础编程能力。
- Emacs 开发环境的乐趣: 有人推荐
roll.el库,“哈哈哈哈,好好玩”,虽然未展开说明,但这是社区内发现有趣 Emacs 工具时的典型兴奋反应。
🛠️ 值得深入研究的点 (Follow-up)
material-icon.el: 由zdn开发的基于 SVG 的图标包。如果对 Emacs 的视觉效果有极致追求,并且不介意libsvg依赖,这提供了一个更现代、更美观的图标方案。值得关注 Melpa 上架进程。lem编辑器: 这是一个基于 Common Lisp 的现代编辑器,架构前卫。其 Webview 前端、原生多线程、秒开体验以及 vibe 编程友好的特性,对于追求性能和 Web 集成的开发者极具吸引力。建议尝试编译 master 分支。roll.el: 一个轻量级的骰子模拟/概率 Emacs 包。如果经常在 Emacs 中进行游戏开发、DnD 跑团或概率模拟,这个小而美的工具能带来便利。organ-mode: 一个用 Common Lisp 为lem编写的 Org-mode 实现。虽然目前安装复杂(依赖繁琐),但作为 Org-mode 在非 Emacs 编辑器上的一个重要移植,其进展值得长期关注。关注其是否合并入lem主仓库。
🧠 Hermes GPT-5.5 观点延伸
今天最有张力的不是“Emacs 能不能更好看”,而是:编辑器正在从“文本操作环境”被重新拉回到“交互操作系统”的竞争里。material-icon.el、window-divider-mode、Markdown preview、lem 的 Webview 前端,看似是 UI 细节,实质上都在问同一个工程问题:一个以 buffer 为核心的系统,如何承载现代开发者对图形、预览、异步、AI 生成和可视化反馈的期待?
1. 视觉不是装饰,是可维护性的入口
material-icon.el 被问“和 nerd-icons 有什么区别”,回答如果只是“更好看”,在包发布语境里确实不够。但从工程判断看,SVG 图标的真正价值不是彩色,而是资产模型变了:字体图标是字符映射,SVG 是可组合、可替换、可绑定事件的界面对象。群里提到 Emacs 能给 SVG 绑定事件,这点比“图标更漂亮”重要得多。
可验证的判断是:如果一个图标包只服务 dired 美化,它就是主题;如果它稳定覆盖 dired、ibuffer、speedbar,并把文件类型、目录语义、交互动作统一起来,它就开始接近“轻量 IDE 信息层”。版权、libsvg、终端不支持这些问题不是边角料,而是决定它能不能从个人配置进入公共生态的硬约束。
2. 删除 mode-line 暴露的是 Emacs UI 架构的边界
zdn 关掉 mode-line 后需要 window-divider-mode,又被 minibuffer 横线折磨,这不是洁癖问题,而是一个典型的局部优化反噬:你删掉了 Emacs 原本承担“边界 + 状态 + 身份”的组件,就必须在别处重新发明边界和状态。
所以“与其嫌弃 modeline 不如把它变好用”这句话很准。mode-line 不只是信息条,它是 Emacs 多窗口模型里的低成本锚点。关掉它当然可以,但工程上要回答三个问题:当前 buffer 身份在哪里?窗口边界在哪里?临时交互状态在哪里?如果答案分散在 child frame、echo area、divider face、hook 条件判断里,复杂度就转移了,不是消失了。
3. lem 的威胁不在替代 Emacs,而在证明另一组默认值可行
lem 讨论里真正刺痛 Emacs 的,是 Common Lisp image 秒开、原生多线程、前后端协议分离、Webview Markdown preview、living-canvas 调用图这些默认值。它不需要立刻拥有 Emacs 生态,只要证明“编辑器核心 + 多前端 + Web 原生能力 + AI 快速补插件”能日用,就已经给出了另一条演化路线。
但这里也不能浪漫化。群里说“vibe 归 vibe,代码还是要 review”,以及 tramp 有 bug 正在 review,恰好说明 AI 时代编辑器生态的门槛没有降低到零:生成代码容易,合入一个长期可维护的交互系统仍然难。AI 能补功能缺口,不能替代架构债务管理。
可继续实践
拿 material-icon.el 和 lem 各做一个小实验:前者测 1200 个文件下 dired/speedbar/ibuffer 的图标渲染性能和内存;后者测 Webview Markdown preview、LSP、远程编辑的稳定性。别争“谁更现代”,用延迟、崩溃率、可配置性、PR review 成本说话。
Emacs 轻聊讨论组
好的,这是根据您提供的聊天记录生成的知识库总结。
🎯 核心热点与专题探讨
专题一:AI 版权与道德困境的激烈辩论
本群组就 AI 训练数据的版权问题、用户付费行为的道德责任以及个人在技术洪流中的无力感展开了一场长达一小时的激烈思想碰撞。这并非单纯的技术讨论,而是一场关于“道德洁癖”与“现实妥协”的哲学争辩。
核心痛点与分歧:
- “毒瘤”论 vs. “历史必然”论: 一方认为,LLM 的训练过程大量未经许可地使用受 GPL 等协议保护的代码,本质上是“毒瘤”,是“邪恶组织”对原创者权益的掠夺。另一方则认为,技术发展的车轮无法阻挡,单纯从道德上批判无力且无效,用户更多是“受环境影响”的被动接受者,而非主动支持者。
- “奴隶的困境”类比: 支持方(A派)用“土匪的喽啰给土匪头子进贡”来类比付费用户,认为用户客观上通过付费“支持”了侵权行为,加剧了不公。反对方(B派)则拒绝这种类比,认为用户是“奴隶”,不应用“奴隶劳动等于支持奴隶贸易”的逻辑去苛责。B 派的核心观点是:不要只用道德批判,应理解大多数人的处境是“被动被裹挟”。
- 解决方案的无力感: 讨论最终陷入僵局。B 派强调个人无力对抗巨头,呼吁应从立法层面解决问题(如“让科技巨头赞助开源项目”、“起诉邪恶组织”)。A 派则坚持“思想是自由的”,应当在任何情况下保持批判态度,表达自己的观点,即便观点是少数。
关键金句与观点提炼:
- “你不是主要受害者,我不是主要受害者,所以发生的事情对我们来讲就可以忽略。” —— 点出了非直接利益相关者的冷漠与局外感,是矛盾激化的根源之一。
- “如果你仔细阅读我的观点,你就知道我反对的并不是这一条……我认为 ai 是毒瘤。毒瘤就是一方面侵犯其他组织的生存空间的同时,还吸收者其他组织提供的养分。” —— 清晰地定义了“AI毒瘤论”的核心逻辑:输出垄断 + 输入侵权。
- “应该直接把 A/ OpenAI 阿里巴巴 华为 苹果 腾讯 等等这些参与项目的 人都杀了。” / “你有能耐就阻拦嘛…我只是一个个人,我又不能代表世界。” —— 极端化表达将讨论从技术问题转向了个人无力感与社会达尔文主义。
专题二:2026年世界杯决赛——西班牙 vs 阿根廷(实时观赛讨论)
群内成员在凌晨时分观看了这场美洲杯冠军与欧洲杯冠军之间的“终极对决”。讨论聚焦于战术、球员表现和比赛走向,充满了激烈的实时评述。
- 战术分析:
- 西班牙: 被评价为“传控踢得真好”,“防守做得太好了”,“区域协防特别强”,但锋线被吐槽“不太行”,缺乏“弧顶远射”能力。
- 阿根廷: 被诊断为“中场有点弱”、“边路太差”(迪马利亚的影响巨大)、“后腰长传不准”。进攻策略被总结为“死守,耗到点球”,全场大部分时间被“压在家里打”,最终“燃尽了”。唯一的亮点是门将“大马丁”(马丁内斯),被公认为“站着输的”。
- 关键事件与槽点:
- 央视广告植入“真尬”,中场秀疑似版权问题未被播放。
- 恩佐的“第一张黄牌太蠢了”。
- 梅西回撤拿球,前场只剩下自己,被戏称“这打个毛”。
- 有人怀念“没有C罗的葡萄牙可能可以打赢这支西班牙”。
🔑 关键概念与技术解析
- Neomacs: 一个用 Rust 语言实现的 Emacs 兼容编辑器。聊天记录中提到了该项目的开发者 @eval_exec 向用户寻求 macOS 下的调试帮助,反映了新兴开源项目在跨平台兼容性上的常见挑战。
- Odin 语言: 一门刚发布 1.0 版本的系统编程语言。群友认为它与 Zig 语言“屬於一個賽道”,都旨在替代 C 语言。它的一些设计被认为借鉴了尚未发布的 Jai 语言。
- Mastodon(长毛象): 一个去中心化的开源社交网络平台。群友提议用它来取代 Reddit,因为它的账号不会被轻易封禁。有群友分享了自己因注册的实例(欧洲的 tchncs)被拒而无法加入的轶事。
💎 碎片知识与金句拾遗
- 工具推荐与吐槽:
- “魔然”是一款收录字库较多的 Rime 输入法词库,适合需要输入生僻字的用户。
- “小红书真难用,不能关闭弹幕和动画”,这是一位开发者对产品交互设计的直接批评。
- “codex 居然能生成一个网页来解释重构逻辑,看着舒服多了”,Claude 也有类似功能(“它自己写了一个网页,放在 claude 官网上”),反映了AI在代码解释与可视化方面的潜力。
- “K3 现在慢得跟蜗牛一样”,用户吐槽了某个AI服务(可能是Claude的API或某类付费服务)因算力不足导致的性能下降。
- 个人际遇:
- @eval_exec 的 5 年 Reddit 账号因发布内容被管理员/版主举报而废掉,他感叹“我真的不想有很多敌人”、“我想做一个友好的人”,并转而将阵地迁移至 YouTube。
- 有群友在黑商购买的 Claude 账号被官方封禁,但无法退货,提醒了零售购买服务的风险。
- 奇闻趣事:
- 推荐了一个名为 “cagire” 的网站,据称是一个将技术内容(如 type 翻译成类型)进行迷之翻译的“乐子”网站。
- 发现了一个台湾的双月刊杂志网站
bimonthly.ps-taiwan.org,被分享者认为是“好网站”。 - “吹哥”的《沉星之序》(Braid, 周年纪念版?)被认为“想法特别牛逼”、“1000多关...”,但其英文文本晦涩,且缺少官方中文。
- 生活/技术经验:
- “现在新冠挺严重的,人群密集地方少去。”
- 一位用户发现安卓手机可以正常发布 Reddit 内容,但笔记本网页版却不行,疑似触发了某种反爬或防垃圾机制。
🛠️ 值得深入研究的点 (Follow-up)
- Neomacs (Rust实现的Emacs): 该项目仍处于活跃开发阶段,并面临跨平台兼容性(macOS)等实际问题。对于关注编辑器生态和 Rust 应用的开发者来说,其进展值得跟踪。
- Odin 语言: 刚发布 1.0,号称旨在替代 C,并与 Zig 同台竞技。其独特的语法和对 Jai 语言的借鉴,使其成为系统编程领域一个值得关注的新玩家。
- 去中心化社交的兴起: 因 Reddit 账号被封而引发的转投 Mastodon 的讨论,反映了部分开发者对去中心化社交网络在稳定性与抗审查方面的关注。可以探究 Mastodon 与其他去中心化协议(如 ActivityPub)的优缺点。
🧠 Hermes GPT-5.5 观点延伸
中心判断:今天最值得咀嚼的不是“AI 到底邪不邪恶”,而是一个更工程化的问题:当基础设施建立在未清算的外部成本上,个人使用者既不是完全无辜的旁观者,也不是问题的主犯。真正有价值的讨论,应从“道德定罪”转向“成本如何被记录、约束和重新分配”。
1. “AI 毒瘤论”的强点,在于指出了输入侧的不对称
群里把 LLM 训练比作“侵犯其他组织生存空间,同时吸收其他组织养分”,这个类比虽然激烈,但抓住了一个真实结构:开源、网页、论坛、代码库这些公共知识系统,本来依赖协议、署名、社区声誉和维护者劳动来维持循环;而大模型把这些材料压缩成商业能力后,回流机制非常弱。
这不是普通的“学习”。工程上看,学习之后形成的是可规模化出售的 API、Copilot、Agent 产品;收益中心化,成本分散化。只要这个结构不变,单纯说“技术不可逆”就太便宜了。
2. “奴隶困境”的强点,在于提醒不要把系统性问题压到用户身上
另一边说“很多人是被环境影响,不是主动支持”,也不是洗地。今天的软件工程已经开始默认 AI 辅助:代码补全、重构解释、网页化方案展示、长上下文问答,甚至群里也有人在用 Kimi 处理 three.js 项目。此时要求每个个人完全退出 AI 使用,等于要求他主动降低生产力,并独自承担抵抗成本。
所以,把付费用户直接类比成“土匪喽啰”会失真。更准确的判断是:付费确实产生支持效果,但责任权重不能平均摊派。平台、模型公司、数据获取者、采购方、终端用户不是同一层级的行动者。
3. 可验证的工程判断:看补偿机制,不看口号
判断一个 AI 产品是否更“可接受”,不要看它宣称支持开源、热爱创作者,而要看三个可验证指标:
- 训练数据来源是否可审计,至少能说明主要语料边界;
- 对代码、文档、媒体等高价值来源是否有授权、退出、分成或补偿机制;
- 商业收益是否反哺关键开源依赖,而不是只在 PR 文案里感谢社区。
如果这些都没有,那“推动技术进步”只是收益方叙事;如果这些逐步建立,AI 才可能从“掠夺型基础设施”变成“可治理基础设施”。
4. 延伸到 Emacs 社区:小项目更需要可持续的社会契约
当天后面 Neomacs 的 macOS 调试、Reddit 账号被举报、转向 Mastodon 的讨论,其实和 AI 版权争论是同一条暗线:开发者需要的不只是工具,还需要一个不会随手吞掉劳动成果、账号身份和社区关系的环境。
Emacs 生态长期靠个人维护、插件协作、邮件列表和小社区信用运转。AI、Reddit、商业平台的共同风险是:它们都能把个人贡献吸走,却不保证给个人稳定的回路。
可继续实践的方向:为 Emacs/开源项目建立一份“AI 使用与贡献回流清单”——记录项目是否允许 AI 生成代码、如何标注、如何避免污染 GPL/版权边界、以及使用 AI 节省的时间是否回流到 issue、文档、测试和赞助上。争论先落到制度,才不会只剩互相审判。
