外观
Emacs 社区日报 2026-06-18
约 3967 字大约 13 分钟
2026-06-18
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
专题一:Emacs 31 新版内置功能与配置“减肥”热潮
群内围绕即将到来的 Emacs 31 展开了热烈讨论,核心聚焦于新版本内置了许多之前需要第三方插件才能实现的功能,从而引发了大规模的“配置减肥”趋势。讨论的要点包括:
- 内置替代品一览:
wgrep->grep-edit-mode(内置)。用户可以直接在grep结果中编辑并保存,无需额外插件。hideshow新增了缩进折叠功能,让代码折叠体验更原生。speedbar新增speedbar-window,可以用 Emacs 原生的side-window方式来显示,替代传统的 child frame。- 内置了新的
dired模式,部分用户尝试将其用作侧栏(如使用dired-sideshow插件或dired-subtree)。
- 核心观点: 社区普遍认为,随着 Emacs 31 的推出,大量过去用来补足编辑器短板的配置(特别是
treemacs、dirvish等)都可以被原生或更轻量的方案(如consult-fd、project-find-file、ibuffer-project)取代。用户@fuzy****:****matrix.org建议直接阅读 Emacs 31 NEWS 并告知 AI 来总结,从而自动更新配置。这种“让 AI 帮你优化配置”的思路也成了新趋势。 - 争议与反思: 围绕“侧栏是否必要”爆发了激烈辩论。反对派(如
@fuzy****:****matrix.org)认为“编辑的时候没必要看文件在哪里,也没必要看 git”,主张用consult-fd、project-find-file等文本搜索代替视觉文件树。支持派(匿名用户)则依赖侧栏进行文件管理和 Git 可视化。多数核心用户倾向于“把核心留给代码区”,减少冗余 UI 元素。
专题二:Emacs 补全生态的大讨论与 vertico 进阶用法
针对“现在 vertico 那一套东西的先进配置是什么样的”这一提问,群内展开了对新式补全栈的深度解析。核心在于 vertico-multiform-mode 的灵活应用,以及 vertico-buffer 的精细调校。
- 标准配置共识: 多数人推荐的“8件套”为
vertico+consult+orderless+marginalia+embark+corfu+cape+prescient(但prescient的作用被认为与自带的历史排序有重叠,价值不大)。 - 进阶配置解析: 用户
@Lucius_Chen详细解释了如何通过vertico-multiform-mode和vertico-buffer-display-action来实现在不同场景下使用不同的补全样式(如 flat、buffer、grid)。他提供了代码示例,展示了如何让vertico-buffer像原生的vertico-mode一样动态调整高度,并且去除恼人的mode-line。这引发了部分用户对自己“默认配置”的反思,认为没有充分利用vertico的灵活性。 embark的价值: 被誉为“神”级插件的embark,其价值在于在 minibuffer 中直接对目标(文件、符号等)进行下一步操作(如预览、编辑、打开),从而将交互逻辑变得异常流畅,减少了在 buffer 间切换的心智负担。
专题三:Emacs Daemon 模式下 display-graphic-p 的世纪难题
这是群内一个源自 doom-emacs-themes Bug 的经典技术痛点:Emacs 以 daemon 启动时,display-graphic-p 返回 nil(因为还没有图形帧),导致许多本该在 GUI 下生效的配置(如字体、emoji 渲染、agenda 分隔符)被错误地应用了 TUI 版本。讨论中提出几种解决方案:
- 手动
hook更新:使用server-after-make-frame-hook,并手动调用custom-reevaluate-setting来重新计算依赖于display-graphic-p的变量值(如telega-*、org-agenda-block-separator)。 - 暴力覆盖:有人提出在加载配置前
advice-add覆盖display-graphic-p为永远返回t,配置加载完后advice-remove。 - 深层次吐槽:核心矛盾在于,Emacs 缺少一个统一的 UI 全生命周期管理框架,导致应用层不得不依赖这种不稳定的底层属性。随着终端模拟器对很多功能的支持越来越好,大家开始期望未来
display-graphic-p可以被彻底淘汰。
🔑 关键概念与技术解析
- ACP 协议:一种用于操作编辑器的协议,类似于 LSP(语言服务器协议)但角色相反。Codex IDE 的
agent-shell和 Zed 等工具通过 ACP 协议来“直接操控”支持该协议的终端工具(CLI/TUI)。用户@fuzy****:****matrix.org纠正了“直接连接 Codex”的误解,指出必须依赖此协议才能实现像“在终端里执行命令并获取输出”这样的功能。 display-graphic-p:Emacs 中的一个基础函数,用于判断当前是否处于图形界面(GUI)下。如上文所述,它被广泛用于配置(如字体选择、emoji 渲染策略),但在 Daemon 模式下会失效,导致配置错乱,是 Emacs 用户长久以来的痛点。embark:Emacs 的上下文操作面板,可集成到vertico、dired等环境中。核心概念是“目标导向”,允许用户在不离开当前上下文(如 minibuffer)的情况下,对光标下的对象(如文件名、buffer 名、符号名)执行一系列操作(如预览、查找、运行外部程序),极大增强了交互效率。
💎 碎片知识与金句拾遗
- 关于 AI 与配置: “很多抄来的东西现在都内置了。” “我决定以后都让GPT帮我更新了:更新完帮我看更新内容,然后看看我的配置有没有需要修改的地方。” “有了AI之后折腾emacs配置也轻松多了。” —— 这表明 AI 正逐步从辅助编码转向辅助维护整个 Emacs 生态配置。
- 关于 Emacs 思维: “我觉得你还是思维没有转换过来,Emacs 的 buffer,Window split 才是 Emacs 的魅力所在。” “现代编辑器的错误设计,要改。”(批评侧栏)“不是杠,人一般一次只做一个事情,编辑的时候没必要看文件在哪里,也没必要看 git。” —— 探讨 Emacs 哲学与其它编辑器习惯的冲突。
- 生活化场景: “我老婆的东西都存在我这里,我是智能 NAS,她说要这个,我就发给她。(这个时候我就要预览了,因为我根本不知道什么是什么)” —— 一个来自非技术需求的真实预览场景,反驳了“预览毫无价值”的极端观点。
- 关于
telega头像裂开: “Emacs 的每行高度是由一行中最高的字符决定的。就是你头像后面那个闪电符号的问题。” —— 一个关于 Emacs 行高计算与字体替换的细致技术细节。 - 关于作者维护: “一个插件,如果作者都不是每天在用,那么它迟早要完。” —— 对
dirvish插件更新缓慢的犀利评价。 - 关于
vertico: “vertico 的灵活在于vertico-multiform和vertico-buffer来着。通过配置vertico-multiform-{commands,categories},vertico-buffer-display-action可以做到非常的灵活多变。不过大部分人可能只是使用默认的vertico-mode, 没有利用到这些,有些可惜 😦 .” —— 来自 @Lucius_Chen 的深度经验分享,也是本日讨论的高潮点之一。 - 关于 Daemon 问题: “不如加载配置前将
(define-advice display-graphic-p (:override (&rest _) always) (always))加载后(advice-remove 'display-graphic-p 'always)😃”—— 一个巧妙的 Hacker 式解决方案。
🛠️ 值得深入研究的点 (Follow-up)
- Emacs 31 NEWs 总结助手:可以创建一个 AI Skill(或 Prompt),专门针对 Emacs 的
NEWS文件(https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.31)进行分析,并输出一份结构化的“配置替换建议清单”。这是“让 AI 帮你更新配置”思路的具体化,有潜力成为新手的入门利器。 vertico-buffer+vertico-multiform的高级工作流:@Lucius_Chen展示的配置示例(特别是去mode-line+ 动态window-height的逻辑)具有很强的通用性。值得深入研究如何将其与embark结合,创造一种全新的、优雅且统一的 Emacs “HUD” 交互体验。codex-ide/agent-shell与 ACP 协议:讨论了agent-shell是如何通过 ACP 协议与 Emacs 内部工具链交互的。这提示我们可以研究如何将其他支持 ACP 的 TUI 工具(如yazi)集成进 Emacs,实现一种超越传统M-x compile且更智能的交互方式。
Emacs 轻聊讨论组
好的,让我这个资深编辑来梳理一下今天的群聊内容。虽然信息量不少,但大部分是围绕效率工具和AI服务展开的零散讨论,深度讨论并不多。下面是整理后的报告:
🎯 核心热点与专题探讨
【专题】AI编程工具与服务订阅的“战国时代”
今天的聊天围绕着几个重要的AI编程工具和服务价格变动展开,反映了开发者们在“最佳性价比”和“安全性”之间的摇摆。
OpenCode Go与GLM 5.2的微妙关系
- 事件: 凌晨有成员发现OpenCode Go上架了GLM 5.2模型,但OpenCode Zen中却没有。这引发了关于订阅套餐与模型可用性之间不一致的讨论。
- 观点:
- 效率派: 有成员反馈GLM 5.2在处理代码库提交、解决冲突等任务上表现相当不错,物有所值。
- 价格敏感派: 有人指出,在OpenCode Go的订阅套餐(月费$10,含$60额度)里使用GLM 5系列是“不划算”的,暗示GLM消耗的额度或成本较高。
- 结论: AI编程工具(如OpenCode)开始深度绑定特定模型(如GLM 5.2),但其定价模型(额度制 vs 订阅制)和套餐差异化可能成为新的痛点。
AI订阅服务的“黑产”与“KYC”风暴
- 事件: OpenAI服务的“成品号”市场几乎消失,改为昂贵的“代充”(单价涨至154元人民币及以上)。同时,OpenAI的Pro计划($200/月)和GPT的5x/10x套餐(主要指推理额度或速度)成为焦点。
- 痛点: 开发者们对“买号-被封-再买”的循环感到厌倦,但也对官方的Pro价格望而却步。传闻OpenAI/KYC政策的收紧是主要原因,导致黑商无法稳定供应成品号。
- 出路: 一部分人尝试通过Google Play和信用卡自行操作低价区(如日区)充值,另一部分人则在寻找Team席位(25刀可买两个席位,但额度比Plus少)的拼车方案。Claude的充值也因包退款等问题而显得困难。
- 总结: 开发者们在AI工具订阅上正面临前所未有的“合规成本”和“信息差”挑战,黑市与官方渠道之间的博弈让整个消费体验变得异常复杂。
Cursor收购Continue
- 事件: Cursor(获得马老板投资后)收购了Continue(另一个流行的AI coding工具),并直接关停其所有产品。
- 解读: 这显然是一次为了巩固市场地位、消除潜在竞争对手的商业行为。此举让部分开发者担心Cursor的生态系统会变得封闭,但也可能加速AI编程工具的集中化。
【冷门话题】终端模拟器的“触屏”之争
- 起因: 一位Kity用户因发现其无触屏支持,计划切换到foot。
- 核心: 讨论转向了foot的图像显示能力。
- Kity支持自有图像协议(Kitty protocol)。
- foot支持更传统的Sixel协议,因此无法原生显示Kity协议的图片。
- 意外发现: 有成员发现foot的中文搜索功能存在bug:首次输入中文无效,需要加一个空格再删除才能正常搜索。这是一个非常刁钻的小众问题。
🔑 关键概念与技术解析
- GLM 5.2: 智谱AI发布的大语言模型,在群聊中被认为是“挺好”的,特别是在代码审查、冲突解决等任务上表现出色。
- OpenCode Go / Zen: 似乎是两个不同版本或套餐的AI编程辅助工具。Go版本包含GLM 5.2模型,而Zen版本未包含,体现了功能集和定价策略的差异。
- Doom Emacs 模块化: 指Doom Emacs框架正在进行架构重构,将内置模块和核心框架进行拆解。用户可以通过更新Master分支来体验,并发现其内置了
markdown-ts-mode(基于树形结构的Markdown编辑模式)。 - Step 3.7 Flash: 一款新的开源模型(open weights),拥有256k上下文窗口,在SWE Bench(软件工程基准测试)上表现出色,接近前沿模型性能。在Cline工具中未来一个月免费使用。
- KYC: Know Your Customer(了解你的客户)的缩写,在文中指AI服务(如OpenAI)要求用户进行身份验证,导致“成品号”交易市场被规范或打压。
💎 碎片知识与金句拾遗
- 关于Java的年龄: 有成员震惊于“Java比Python还新?” 正确回答是:“Java当初是为了用于机顶盒、掌上控制器等消费电子和嵌入式设备。”(注:Java诞生于1995年,Python诞生于1991年,所以Java确实比Python“新”。)
- 关于“壁纸木马”事件: “好家伙,现在连壁纸都藏木马了吗?” 链接指向一个关于Wallpaper Engine壁纸被植入木马的新闻,但真相是“是域名过期了,作者忘记续费了……然后就出事了。” 说明是供应链攻击或域名劫持,而非传统意义上的在壁纸图片中植入木马。
- 关于AI辅助开发的“副作用”: “这个人(mvanhorn)是否自从用上了AI之后就疯狂Contribute?” 反映了AI工具极大地提升了开发者的产出效率,但也可能引发对贡献质量和真实性的讨论。
- 关于“喝茶”风险: “我的梯子的老板早就去了加拿大了。安全意识不高。” 提到了nfcloud老板失联事件,点出了提供梯子服务的风险。
- 关于程序员痛点: “别开发了,改卖号吧。” 来自一位被涨价搞得心烦的开发者,是对AI服务商业化混乱的无奈吐槽。
- 关于Java开发: “java项目现在不都是springboot一把梭。” 轻描淡写地概括了现代Java后端服务的普遍做法。
- 关于民生: “送外卖的不给孩子吃外卖,做奶茶的不给孩子喝奶茶,卖菜的不给孩子吃青菜,卖虾的不给孩子吃虾。” 一针见血地概括了当前国内部分行业存在严重的产品质量安全问题。
- 关于GTA VI: 预购将于6月25日开始,有成员担忧自己的显卡可能跑不动。
🛠️ 值得深入研究的点 (Follow-up)
- Cline + Step 3.7 Flash: 这是一个值得深度体验的组合。Step 3.7 Flash的“open weights”和接近前沿的性能,加上Cline的免费政策,很可能成为开发者的新宠。可以关注其在SWE Bench之外的真实编码场景表现。
- OpenCode Go的定价模型: 深入研究一下OpenCode Go的额度制度,分析使用GLM 5.2等不同模型的成本差异,并与Cursor、Codex等竞品进行横向对比。其“Go”和“Zen”版本的功能差异也值得深挖。
- Foot终端模拟器的中文输入问题: 虽然小众,但这是实际开发中会遇到的问题。可以看看是否有相关的issue讨论或补丁,或者是否有其他支持Kitty协议且中文支持良好的终端模拟器(如WezTerm)可以替代。
