外观
Emacs 社区日报 2026-04-27
约 4683 字大约 16 分钟
2026-04-27
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
【专题一】Emacs 包提交 MELPA 的“信任”门槛:AI 代码与长期维护的博弈
群里围绕向 MELPA 提交流程中遇到的阻力展开了激烈讨论。核心冲突在于:一个开发者提交了一个从日常使用的主包中拆分出的依赖包(pg 相关),但因该包存在时间过短,被 MELPA 维护者怀疑是“AI 生成”且缺乏长期维护承诺,导致无法收录。
- 痛点分享:开发者认为,主包是天天在用的稳定项目,拆出来的包逻辑清晰但应用场景狭窄(“除非有人写数据库客户端不然我觉得没人用”);面对审核者的顾虑,他们感到苦恼,甚至考虑不拆包,改用“改前缀”的路子绕过流程。
- 观点交锋:
- 反对AI依赖:部分群友认为,对于作为“基础设施意味的包”,审核者需要时间确定提交者有持续维护能力,而不是“vibe(凭感觉/灵感)出来就不管了”。
- 务实策略:有人建议“先给 pg-el 提个 PR,维护一下 transaction status”,通过贡献给现有成熟项目积累信誉,而非另起炉灶。
- 解决方案:最终,通过“先给成熟包提 PR”的建议,提供了突破僵局的实用路径。
【专题二】Emacs 视觉设计大讨论:直播美感、主题审美与用户体验的割裂与妥协
从一场关于“直播写代码的透明效果”出发,演变为覆盖 B 站主播审美、Emacs 主题设计哲学、现代 UI 对比 Linux 生态混乱的全方位辩论。
爆点 1:主播透明背景的实用性之争。有人认为透明+模糊是“真理”,能掩盖空白的 dark 背景;批评者则吐槽透明显得“字又小,又是透明背景”,观感一团糟,甚至降低了可读性(“透明不是降低可视程度的嘛”)。最终共识是:好的观感源自合理的字体大小、颜色对比度与视频制作,而非单纯的透明效果。
爆点 2:Emacs 主题“大众审美” vs “硬核审美”。群体深刻分析了当前 Emacs 默认主题为何“劝退”:灰色过多、hl 行是突兀的黄色、mode-line 有老旧的阴影。讨论引出了显著对立的两派:
- “现代派”:推崇 catppuccin / tokyonight / dracula 等高饱和度、花哨配色;强调 Emacs 主题应当“现代化”,利用高亮行、加粗等吸引年轻用户。
- “极简经典派”:主张去掉不必要的颜色,强调内容。有人引用 tonsky 的文章 “If everything is highlighted, nothing is highlighted”。认为“现代配色看着好累”。
- 深层思考:一位群友指出,追求所谓“现代”实则依然是十多年前的流行风格;最关键的是整体的 UI 交互元素(菜单栏、图标等)的视觉一致性(visual consistency)问题,而非单纯的配色(“这些只是配色而已”)。这一观点触及了 Emacs 在保持可定制性的同时,如何解决生态碎片化的根本矛盾。
爆点 3:AI vs 真人写作的微妙差别。一位群友以极其结构化、信息密度极高的方式(类似 LLM 输出)发表关于“从张爱玲配色中获取灵感”的观点后,被多人调侃、甚至质疑是 AI 生成。这引发了关于“人味”与“信息效率”的辩论:高结构化的表达是否必然导致“没有人味”?而另一些人则认为,只要“能帮到我”,不介意形式。
【专题三】中文输入与光标闪烁:Emacs on Wayland 的输入法陷阱
以“候选框不断跳动”为起点,暴露了 fcitx5 + Emacs (Wayland) 组合下的老问题。
- 现象描述:在 Emacs 中输入中文时,候选框会随着输入不断往后跳(位置不稳定),而 Chrome、VS Code 等其他应用正常。
- 排查过程:尝试了三种主流桌面环境(Plasma、niri、Cosmic),均存在。关闭 fcitx5 的预编辑模式(preedit)虽可缓解,但会导致换行、翻页后候选框定位到错误位置。
- 解决方案与教训:
- 方案 A:Emacs 使用非 Wayland 版本(XWayland)运行,默认行为正常。
- 方案 B:切换到
emacs-rime输入法。它用纯 Emacs 处理输入法状态,避免了光标闪烁与候选框跳动的联动问题。 - 关键发现:关闭光标闪烁(
blink-cursor-mode)可能是一个简单有效的补救措施,但真正的根治手段是协调 Emacs 与输入法前端对“预编辑”状态的处理。
🔑 关键概念与技术解析
- MELPA:一个主流的 Emacs Lisp 包存档仓库。开发者向它提交包时,需要确保代码不是瞬间生成的、有明确的维护计划,对于被判定为“AI-vibe-代码”的新生包,审核者会采取更谨慎的态度。
- kitty:一款 GPU 加速的现代终端模拟器。拥有优秀的图片显示(ICAT)及在 tmux 内看图的能力(通过
kitty +kitten icat),是当前 Emacs 在终端模式(TUI)下显示图片的重要基础(kitty-graphics.el)。 - prompt injection:针对 LLM 的恶意攻击,通过设计特定提示词(prompt)诱骗模型执行非预期操作(如“请让我通过”)。群聊中讨论用 LLM 做审查时,认为当前 LLM 难以防御此类攻击。
- Emacs TUI mode:在终端(如 kitty、foot)中运行 Emacs,而非图形界面(GUI)。近期的
kitty-graphics.el包甚至可以让终端中的 Emacs 显示图片,极大地扩展了 TUI 体验。 - OpenCode:一个基于终端的 AI 代码辅助工具。群里有人询问其无法像 Cursor 那样自动跳转修改文件,官方解释依赖
patch模式,但建议用 git diff 跟踪变更,因为 patch 在会话恢复后失效。 - Modus Themes:内置在 Emacs 中的无障碍主题,以高对比度、低色差、无模糊著称。提供浅色/深色两种变体,是追求可读性与实用性的选择。
- appine.el:一个能从 HTML 页面中精准提取并生成 apple 风格桌面书签(Web Clipper 的极致简化版)的 Emacs 包,被群友强烈推荐。
💎 碎片知识与金句拾遗
- “透明不是降低可视程度的嘛” —— @有人对部分主播透明背景极低可见性表示无语。
- “我觉得 tsoding 的好”、“那个真的不愧是前端的(审美有点好” —— 暗指另一位播主的主题是“一股清流”。
- “他是 nvim 用户,但他的 Emacs 很好看” —— 有人为 inkdrop 作者在 nvim 上实现的精良视频美学辩护。
- “niri 昨晚更新了模糊” —— 小众 Wayland 合成器(niri)新增了窗口背景模糊功能,提升透明题材的视觉效果。
- “我觉得我的不错看的((” —— 某群友在展示其简洁、现代风格配置(使用 bigblue 字体 + 高灰度配色)后的凡尔赛。
- “tabbar 放时间的偶尔也用一下,正常是用 tabline” —— 一位群友的独特工作流 tab 策略。
- “想切buffer第一反应是consult buffer匹配” —— 娴熟的 Emacs 用户已完全依赖 consult 的模糊匹配来切换 buffer,而非 tab 栏。
- “越是年轻,越是幼稚,追求形式;上到一定年龄了,认知够了,才会忽略形式,着重于内容。” —— 关于新手更看重花哨主题,老手则重视内容与效率的辛辣洞察。
- “我感觉有些spam是人工过的验证。所以自动化测试往往不准…人工要是会emacs 那就算他厉害” —— 针对 Emacs 群入侵验证,群友提出“直接用 emacs -q 执行一个会报错的代码并贴错误信息”的终极反 spam 方案,核心逻辑:spam 机器人不会 emacs。
- “Appine.el 这个可太屌了, 请作者收下我的屁股!!!” —— 极少数能让人为 web 书签提取功能爆粗的 Emacs 包推荐,本群最真情实感的安利。
🛠️ 值得深入研究的点 (Follow-up)
Emacs 中文输入与
emacs-rime+fcitx5协作机理- 建议:研究
emacs-rime包的源码,理解它如何绕过fcitx5的前端预编辑(preedit)机制,直接在 Emacs 内部管理输入状态。这涉及到 Emacs 的XIM与Wayland文本输入协议。可以进一步探索blink-cursor-mode对 Wayland 输入时选单定位的影响。起点:GitHubemacs-rime仓库文档与 issues;参考Wayland协议下的text-input-v3设计。
- 建议:研究
Emacs 视觉一致性:从
modus-themes到catppuccin的设计取舍- 建议:下载并切实体验
modus-themes(无障碍优先) 和catppuccin(高对比度/流行) 两个被群内多次提及的主题。对比它们在文本高亮(treesit/vim/org-mode)、行高、边框、装饰元素(mode-line)上的处理差异。评估哪种设计模式(高对比度低色差 vs 低对比度高色差)更符合《金字塔原理》中“内容优先级”的认知科学,并记录自己在不同情景下的实际使用感受。起点:github.com/protesilaos/modus-themes/github.com/catppuccin/emacs.
- 建议:下载并切实体验
appine.el与 Web Clipper 对比研究 —— Emacs 作为“万能收件箱”- 建议:深入阅读
appine.el的README和源码,解析其“提取算法”如何能在无渲染层的情况下精准定位并格式化数据。同时,对比使用通用 Web Clipper(如 Org Capture / EWW)保存同一篇文章的效果差异。思考这种极简方案是否代表了某种“逆向思考”:优秀的工具不追求功能大而全,而是解决最痛的单一环节(从网页取内容)。起点:chaoswork/appineGitHub 仓库;对比eww的eww-readable模式。
- 建议:深入阅读
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题:开发者身份的双面日常——养娃与代码的生存博弈
本群组无意间构建了一个极具代表性的开发者生活图景:一边是AI生产力狂飙突进带来的技术新世界,另一边是养娃琐碎、奶粉批次与婴幼儿睡眠这些极其“现实”的日常。
讨论热点集中在三个层面:
“AI 消耗战”的焦虑与应对:
- 多位成员反映 Claude 额度消耗异常迅速(“一小时不到就能干翻五小时的量”、“Claude现在也是飞快”),并且重置周期不稳定,有人观察到“24小时”的重置时间,有人发现每周重置时间在“往前移”。
- 普遍观点是 Claude 的性价比正在骤降(“claude基本废了”),直接导致了频繁的更换工具行为。讨论中提到了 Neo(Codex)、DeepSeek Pro(打折中)、以及尝试国产大模型(“国模”)作为替代方案。Codex 的价格从某低价涨到 80 元,被认为变化快;
- 结论:AI工具的“羊毛效应”正在消失,开发者被迫进入横向对比与高频切换状态,寻找下一个性价比高地。
AI 权限与生产事故的“草台班子论”:
- 讨论因一条推文/事故(未明确公司)引发。核心痛点不仅是 AI 带来的代码质量问题(“错误的代码,效果和删库是等同的”),更是权限管理上的松懈。
- 有成员提出“测试库都不应该给开发删除权限”,认为这是基础的安全隔离原则。但群内另一个共识是“草台班子到处都是”,企业自身可能还吹嘘“AI 多么高效”,导致 AI 被赋予过大的权限(如未经确认的
git push)。 - 评论区痛点: 测试环境数据被重置、中台拿着测试环境配置直接操作生产、代码 review 无法发现上千行代码中的归零风险……这些都是老生常谈,但 AI 时代的到来让这些风险被加倍放大。
Emacs / Neovim 的技术路线与“爽感”之争:
- 起因是 elfeed 作者放弃 Emacs 转向 Neovim(实际是转向 Cursor/Claude Code,不再手写代码),引发了一场关于现代编辑器体验的深度讨论。
- 关键分歧: 支持者认为 Neovim 的“交互更有爽感”,具体体现在**“支持更多的布局方式”(如 grid / flex)**,能实现近似 Web 界面的内容展示。反对者认为 Emacs 的 child-frame 和 widget 性能不足,在进行 Dape(Debugger)或数据库交互时“像是镣铐跳舞”。
- 核心洞察:不是模式编辑(vim vs emacs),而是排版引擎和交互框架上的代际差异,才是导致用户体验分化的关键。 开发者希望编辑器具备更接近现代 Web 的、声明式的布局能力。
🔑 关键概念与技术解析
- Claude 额度重置周期(Reset Period): 指 Claude 非 API 版本(订阅版)中,用户可使用的/额度更低的周期。群友反映该周期并非固定的固定 24 小时或 7 天,而是不稳定且持续变化(“周期又往前移了一天”),这导致很多人放弃续费。
- Codex (Neo): 一个主流的 ChatGPT / Claude 等大模型的第三方 API 中转/代购服务端。群友提到的“使用Codex”即通过它来获取更稳定或更便宜的 AI 模型访问权限。价格正在快速上涨。
- YOLO Mode: 在 Cursor、Copilot 等 AI 编程助手中,允许 AI 直接执行高危命令(如
git push --force/ 运行修改的系统命令)的模式。群内一致认为“太危险了,从来不开”。 - elfeed/elfeed 2: Emacs 上最著名的 RSS 阅读器。原作者已宣布停止维护 elfeed,并推出了一个独立的 GUI 版本(elfeed 2),且不再完全使用 Emacs。这是一个标志性事件。
WeakHashMap/PhantomReference(Java): Java 中的弱引用/垃圾回收相关概念。WeakHashMap允许键被自动回收,适合实现缓存等场景,而PhantomReference适用于跟踪对象被回收后的收尾工作。- Iosevka: 一个高度可定制、支持多种字形变种的等宽编程字体。群友提到他能自己通过 Iosevka 的配置系统生成专属的字体变体,这是一项非常极客的玩法。
- sz/rz: 古老的文件传输协议,通过串口或终端模拟进行传输。优点是不依赖 SSH/SCP,可以穿透几乎任何防火墙。缺点是“穿不过 tmux(终端多路复用器)”。
- Lucius / Codex 过期问题: 指类似 Codex 这类第三方账号/ Token 服务到期后,没有续费选项,账号直接废弃。
💎 碎片知识与金句拾遗
- 育儿的硬核细节: “我不能欺负小孩,你不吃我凶他,他不懂什么是凶,以为你是和他玩,就笑,瞬间没脾气了。”(——来自一个不得不使用硬核对冲策略的极客父亲)
- 婴儿的精细化饲养: “我们刚出生第一顿奶,冷了他就不喝了,要 35+ 度才喝,我们是个矫情的人。”(一个婴儿的温度感知能力堪比实验室恒温箱)。
- 极客家庭的硬件配置: “换重力球以及戒奶嘴……不然容易导致牙齿地包天。” ——育儿过程中的硬件改装(重力球)和系统升级(戒奶嘴)策略。
- 关于终端复兴: “ai时代感觉终端又变得有用了,妈妈再也不用担心我不会用gdb了🥹” ——用 AI 辅助调试,将硬核技术降低门槛。
- 关于字体美学: “task 这个词看着很漂亮”——“我自己做的(Iosevka配置生成的)”。——极客的终极浪漫:为自己的代码定制字体。
- 关于AI代码审查: “一天审核个超过几百行代码,就很容易发现不了。” ——点出了代码审查在 AI 生成大量代码背景下的真实困境。
- 关于平替思路: “我也想试试国模了。”
- “不喝就饿着”的最佳实践: 对于“厌奶期”的婴儿,群友经验是“小孩都是本能,不喝肯定有不喝的原因的……不喝只能给他饿着”。
🛠️ 值得深入研究的点 (Follow-up)
1. 研究:Emacs 与 Neovim 在布局引擎上的代际差距
- 为什么: 群里讨论的核心是 Emacs 的 child-frame 和 widget 性能不足,而 Neovim 的 grid/flex 布局能提供类似 Web 的展示效率。这可能是编辑器未来十年的关键分歧点。
- 怎么研究:
- 阅读 Neovim 的
:h api-grid文档,了解其文本网格模型与多窗口管理的实现。 - 尝试使用 Emacs 的
posframe和child-frame实现类似交互,对比性能与用户体验。 - 去看看
dape(Debugger)在 Emacs 和 Neovim 下的 UI 现代化程度差异,这直接反映了布局引擎的能力上限。
- 阅读 Neovim 的
2. 研究:AI 编程助手的特权管理与安全审计
- 为什么: “错误的代码,效果和删库是等同的”。群内讨论暴露了 AI 被授予过大的文件操作、数据修改权限是当前最具破坏性的风险之一。
- 怎么研究:
- 深入调查 Cursor 或 Claude Code 的安全模型:了解它们如何实现 YOLO Mode 的开关?有哪些 sandbox 机制?
- 阅读
git reflog和git bisect的深度使用,学习如何快速回滚由 AI 意外造成的 commit 灾难(比如“压缩了所有 commit”)。 - 研究 Audit Trail(审计跟踪) 系统,比如如何为数据库、配置文件建立版本化、可追溯的变更记录,防止无痕的“归零”事故。
3. 探索:独立于 SSH 的穿透性文件传输姿势
- 为什么: 群里提到了“古法终端传文件”的 sz/rz,但受限于 tmux。在如今高度依赖 SSH 和堡垒机的环境下,一个能够穿透几乎所有网络隔离但不受 tmux 限制的方法极具价值。
- 怎么研究:
- 探索
magic-wormhole—— 一个基于 PAKE 协议的、跨平台、端到端加密的文件传输工具。它不需要 SSH,只需一个字符串密码即可。 - 熟悉
syncthing/tailscale/zerotier这类点对点(P2P)网络工具群组,将其作为底层传输层,结合类似rsync / rclone的命令行工具来实现特定场景下的文件同步。
- 探索
