Emacs 折叠终于统一:kirigami 派发加自绘边缘指示
来源:jointhefreeworld.org — 2026-10-23
📋 概述
作者的 Emacs 折叠长期是分裂的:Tree-sitter 模式用 treesit-fold,Lisp 系用 Hideshow,纯文本用 Outline,Org 又是自己一套,键位、外观、性能各不相同。他改用 kirigami 做派发层,为 Tree-sitter、Hideshow、Outline、Org、Vdiff 统一了一套 C-c v 键位,再逐个修掉指示线的画法:把 23 行的位图换成单行位图,让引导线随行高重复并画出收口拐角,颜色改成向背景混合 50% 的 shadow。
🔑 核心要点
- kirigami 本身不折叠任何东西,它只维护折叠引擎列表、判断当前缓冲区哪个引擎生效再转发过去
- 一套 C-c v 键位在 Kotlin、YAML、Scheme、ELisp 和 Org 里完全一致
- outline-minor-mode 几乎处处都开着,因此要把 Hideshow 在引擎列表里排到前面才能让它生效
- 指示线原本是 23 行高的位图,而配置里行高 29 像素,每行之间留下三像素空隙,看起来像虚线
- Org 用 text properties 而非 overlay,只能自写边缘指示,重绘改成按修改 tick 与脏区域增量处理
💡 金句
The number of times a day I used to think 'wait, what does TAB do in this mode again' is now zero.
👍 0
👎 0
← 返回 Lobsters 首页