(发布)org-include-inline

  1. respect fold设置下,当前层级折叠时还是会显示所包含的overlay,折叠更上一层时可以隐藏。

方便贴图,或者贴一下你的源文件吗?让我看看是多少层级。

我目前的测试中,与层级好像关系不大。最好是你能够提供一个 GIF 过来。

PixPin_2025-05-20_08-49-44

Peek 2025-05-20 12-31

源文件是否愿意给我一下?我用你这个来测试看看。GIF 太快了,看不清。

看上去你在 include 一个源文件就有的内容,你要不要试一下include 其它文件里的内容看看

发现一个 bug:

headline 是 timestamp + 题目名称这样的组合,org export 没有问题,用 org-include-inline-headline 时无法显示内容,还有报错提示: org-include-inline-refresh-buffer: Symbol’s value as variable is void: org-include-inline–fetch-file-lines

标题示例:

** [2025-05-20 周二 21:45] 内容

可否附上,你使用的是哪一个 inlcude 命令

org-include-inline-headline

#+INCLUDE: “collection.org::*[2025-05-20 周二 21:45] 内容”

你现在可以更新一下看看,应该已经正常了。

1 个赞

根据你的源文件,我已经找到原因了。 headline 和 headline 之间,没有用空格隔开,就会出现你说的现象。

这是例子:

PixPin_2025-05-20_23-16-43

麻烦你把 headline 和 headline 之间手动添加一个空行再试一下。

我相信这是因为 overlay 的机制,在它显示的时候,也需要摆放一个占位符。如果 #+INCLUDE 语句下方没有空行,overlay 就会因为没有占位符而溢出。

已经解决,下载最新版,测试一下

这个可以了。但又发现这个包在include后面会添加额外空行了,也就是 overlay 之外会修改文件本身了。之前使用时好像没有这个现象。

btw, 另外有个小 feature request:现在调用include时,会在输入处弹出当前目录并加入 .org 后缀,而我主要需要进入子目录找 org 文件,导致每次都要手动删除 .org 才好操作。能否不要自动加入 .org,或者提供个配置变量供选择?

是的,因为没有对应的空行的话,overlay 在 org-headline 折叠的情况下无法隐藏,体验很怪。

我应该已经用了检测,如果有空行则不必添加,无空行才会添加的。按你说的,是无论有无空行都会添加是吗?

这个可以去掉,有时候也会困扰到我,只不过处理的优先级不够高,所以暂时没管。这个晚点弄弄。

搞定

你好,我试了一下,还是原来的情况。 我尝试在include上下都加了空白行,也不能解决问题。

你有更新到最新的版本吗?

image

应该是最新的?

可以尝试再更新一下,你发这个命令几个版本里都有。这是最新版的情况,以下几个标题里都有 overlay,但没有溢出。

PixPin_2025-05-23_07-52-43

奇怪,我应该是拉了最新的了。但是问题依旧。

不过这个问题倒不算太困扰我。 现在我这里用起来比较大的问题是,开起来org-include-inline模式后,emacs会比较卡。特别是每次M-x,都会停滞个3秒minibuffer才出现内容,关掉模式后就不会出现这个问题。想请教一下,这是不是因为overlay的显示机制引起的,还是后台自动refreshing导致的?

难讲,你开一下 profiler 看看。自动 refreshing 现在的策略的确比较激进(每一个打开的 org 文件都跑进去看看有无 #+INCLUDE),但由于操作是读取,速度其实很快,不致于令 M-x 都要 3 秒才能响应。

更新后是去掉后缀了,但无法include了,也就是选中org文件后没有任何反应,不管是headling还是id,只有include file才正常

你先恢复到上一个版本,我的锅,草率了