外观
Emacs 社区日报 2026-05-19
约 2389 字大约 8 分钟
2026-05-19
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
【专题】Doom Emacs 的前端工作流配置与 Emacs 排版优化
本次讨论围绕 Doom Emacs 写前端的配置痛点展开,并衍生出 compilation buffer 渲染、LLM 工具集成等多个子话题。
1. Doom Emacs 前端配置探索
- 痛点: 用户 (10:30) 寻求 Doom Emacs 写前端的配置参考,尤其困扰于缩进和对齐问题(“回车就直接缩进多了一部分就很离谱”)。
- 关键点:
- 主流意见认为前端配置核心在于 TypeScript 支持,但用户追求更精细的细节:multi LSP 管理、compilation mode 中的格式符号渲染(ansi-color)、以及缩进不生效的根源。
- 社区推荐
ghostel作为compilation-mode的替代方案,能渲染颜色且性能更好,并提供ghostel-compile-global-mode和排除 rg/grep 等 mode 的配置。 - 有人提供 ansi-color 的 hack:
(add-hook 'compilation-filter-hook #'ansi-color-compilation-filter)以及更完善的 defun 版本。
- 结论: 前端配置没有“万能答案”,需针对具体问题(缩进、LSP、编译输出)逐步调试。
ghostel和 ansi-color 是解决编译乱码的主流选择。
2. Emacs 排版与字体生态
- 痛点: 中文字体在 ghostel 渲染下字距过大,影响阅读体验。
- 解决方案:
- 字体选择:Sarasa Mono SC(社区主流)、Hack Nerd Font(配合 nerd-icons)、PragmataPro + LGXW。
- 配置技巧:使用
buffer-face-mode为 ghostel 指定专用字体,或用set-fontset-font设置全局中文字体族。 - 审美争论:中文(宋体内部空间大,清晰但松散)vs 英文(黑体更清晰)展示哲学不同。
- 屏幕行数众生相: 从 40行(老头字号)到 90行不等,映射出 Emacs 用户对信息密度与阅读舒适度的不同取舍。
3. LLM 集成革命:codex-ide 与 终端 client 之争
- 核心观点: 多人强烈推荐
codex-ide,将其视为 Emacs 内 AI 编码的终极方案,声称“用起来比终端里开好多了”。 - 使用反馈:
- 效率提升:上午一边 review 代码一边给开源项目提 patch,认为 AI 带来巨大提升。
- 迭代速度:项目更新极快,有用户刚想提交 patch,发现已有人完成。
- 实用性:与 Emacs 原生结合,支持多模型(需支持 codex responses 协议),部分人仍习惯终端使用。
- 避坑点: 有人提及 v2ex 上低价 Codex 中转站可能造假(偷偷换 LLM 或使用被封的免费号),提醒谨慎选择。
🔑 关键概念与技术解析
- ghostel: 一个 Emacs 包,用于替代
compilation-mode,提供更好的性能、颜色渲染和终端集成(eshell),并支持全局模式。 - codex-ide: 一个 Emacs 插件,将 AI 代码补全/对话集成到 Emacs 内部,通过响应协议支持多种模型(Claude、GPT等)。
- theme-set-type: 一个自定义 elisp 函数,用于动态调整 Emacs 主题在不同显示类型(graphic vs tty)下的适配,但存在部分 face 显示不正确的 bug。
💎 碎片知识与金句拾遗
- “用 AI 打磨,前端有的也会用到 multi lsp 吧” —— 指出 AI 辅助可处理 LSP 多实例等复杂配置。
- “一个上午一边 review 代码,一边顺手给两个开源项目交了 patch” —— AI 提升效率的生动体现。
- “好气啊,为啥我的字体就很奇怪。。” —— 字体配置是 Emacs 永恒痛点,幽默而真实。
- “我是保守 emacs 人” (对用 eshell 而非 ghostel 的自嘲)—— Emacs 用户群体中的经典心态。
- “中文要清晰可见,就要内部空间多一些…英文黑体更加清晰” —— 中英文字体审美差异的深刻观察。
- “因为我用 sccache,还挺快的,大概 40s” —— Rust 增量编译的日常。
🛠️ 值得深入研究的点 (Follow-up)
- ghostel: 深入研究其全局模式配置、字体渲染方案及与 eshell 的集成。链接:https://github.com/dakra/ghostel
- codex-ide: 跟踪其快速迭代,研究其对多模型的支持机制及与 Emacs 原生功能的深度整合。
- theme-set-type 的 bug fix: 用户提供的动态主题适配代码存在部分 face 显示不正确的问题,可深入研究 Emacs 主题系统(theme-settings、face 规范)并提出修复。
- Rust
write!格式化丢失#flag: 提及write!常规方法会丢失{obj:#}flag,社区提供debug_list().entries(...)替代方案,值得深入阅读 Ruststd::fmt文档。
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题:代理工具的生态选择与自定义核心开发
群内当天最激烈的讨论围绕“代理工具”展开,涉及从现成工具(Clash系、sing-box)的使用痛点,到个别人物(如“go快些吧”)决定从头开发代理核心的全过程。
关键词: Clash / sing-box / 代理核心 / 配置驱动 / 长链接
现状与痛点:
- Clash 系: 被提及最多的问题是“无法保持长链接”、“核心崩溃后白屏”、“配置复杂且容易断连”。有成员反馈:“挂着挂着白屏了,然后发现代理核心连不上了”。
- sing-box: 被称赞为“稳定、DNS问题2小时解决”,但存在“配置没有可读性”、“各版本breaking change太多”的硬伤。不过“AI出来后,这个就不是问题了”,用AI通读文档写配置成为新解法。
- Clash Verge: 评价两极分化,有人称“不好用”、“经常出问题”,也有人推荐
clash-verge-revfork版本。但“作者跑路”的说法被否认,指出已有多次迭代。 - 对于机场订阅的兼容性,
sing-box-r这个fork解决了订阅自动更新问题,v2ray订阅链接可直接使用。
深入开发方向:
- “go快些吧” 正在基于Go开发一个“没有UI交互”、“只要行为正确”的代理核心。目前已花费3周烧掉大量token完成部分解析(rule和geo入口),目标是对用户透明,直接通过配置驱动。
- 开发人员对“用agent遇到各种魔幻代理问题”表示无奈,认为“代理不能当黑盒用”,这也是驱动其自研核心的原因之一。
- 讨论中意外穿插“同事因买氧气瓶和钢管被JC带走”的奇闻,侧面反映出开发者的生活与工作压力。
共识:
- AI(尤其是Claude/OpenAI)已成为解决复杂代理配置(尤其是sing-box)的“标配”,降低了学习曲线。
- 单启动核心+配置驱动+简单TUI的模式被认可,远超传统强制启动GUI的做法。
🔑 关键概念与技术解析
- dae: 一个基于eBPF的Linux透明代理工具,被推荐为“傻瓜式”方案,适合Linux环境,免去复杂配置。
- codex / codex的WebSocket: 这里提到的“codex”可能指某类AI或API服务的客户端(如Anthropic的Codex或某WebSocket测试工具),其在代理下“走不通”被归结为域名覆盖不全或透明代理配置问题。
- sing-box-r fork: 对sing-box代码库的修改版本,增加了对通用订阅链接(如v2ray订阅)的自动更新支持,解决机场用户手动配置的痛点。
- .elfeed / sqlite: 来自Emacs社区新闻阅读器elfeed的近期优化:由minad接手后改用sqlite存储数据,解决了过去无法同步的问题。这是个不错的Emacs生态进展。
💎 碎片知识与金句拾遗
- 开发理念:“只要鸡生的蛋好,管鸡是什么鸡干嘛。” —— 对于工具链(语言、实现者)的务实态度。
- AI 使用感悟:“烧了3周token才做到0.6……测试是AI写的,我只看有没有问题。” —— 反映了“AI辅助开发 + 人工把关”的现代工作流。
- 关于开源主理人的幽默:“唱歌盒不是作者经常写到不知天地为何物吗” —— 对sing-box作者高强度的开发节奏的调侃。
- 生活插曲:“我同事被JC带走,因为买了氧气瓶和钢管啥的...怕埋🔟是吧” —— 程序员社区里夹带的黑色幽默与现实讽刺。
- 情绪吐槽:“李华”式的AI求助邮件:
“Dear Ramanujan, Listen, I dont fking knows how to solve this, so please search for an AI to help you out. 💀💀”—— 将学术发问客套化与AI时代的求助混搭,极具荒诞感。 - 额度焦虑:“离刷新还有3天,没额度了” —— 对AI服务成本的真实焦虑。
🛠️ 值得深入研究的点 (Follow-up)
- sing-box 配置的 AI 自动化:如何用LLM(如Claude/Codex)将自然语言描述的代理需求(如“只对推特流量走代理”)直接翻译为sing-box的JSON配置,并处理breaking change。这是一个巨大的生产力提升方向。
- 轻量级代理核心开发:关注“go快些吧”正在做的项目,如何实现“兼容Clash配置但无UI导向”的核心。其思路(规则解析+配置驱动)可能代表下一波代理工具的趋势——去GUI化、CLI/API-first。
- elfeed的sqlite迁移:如果你用Emacs且关心RSS阅读,elfeed改用sqlite后同步机制(同步
.elfeed文件夹 → 单个sqlite文件)可能带来可靠性提升,值得跟进。
