根据 org-mode 手册,拉取错误时会发生以下情况以及如何处理它:
Org 移动在 mobileorg.org1 中找到的所有条目,并将它们附加到变量 org-mobile-inbox-for-pull 指向的文件中。每个捕获的条目和每个编辑事件都将成为收件箱文件中的顶级条目。移动条目后,Org 将尝试实施 MobileOrg 中所做的更改。一些更改是直接应用的,无需用户交互。例如,所有对标签、TODO 状态、标题和正文的更改都可以干净地应用。已标记为需要进一步操作的条目将收到标签 :FLAGGED:,以便可以轻松再次找到它们。当查找条目或应用更改时出现问题时,指针条目将保留在收件箱中,并将标有错误消息。您需要稍后手动解决这些问题。然后,Org 将生成一个包含所有已标记条目的议程视图。然后,用户应浏览这些条目并执行任何必要的操作。如果在 MobileOrg 中标记条目时存储了注释,则当光标位于相应的议程行上时,该注释将显示在回显区域中。
按下
?
该特殊议程将在另一个窗口中显示完整的标记注释,并将其推送到 kill ring。因此,您可以使用? z C-y C-c C-c
该标记注释作为条目中的普通注释进行存储。?
连续按下两次将提供删除 :FLAGGED: 标签以及记录的标记注释(存储在属性中)。通过这种方式,您可以表明此标记条目的预期处理已完成。如果您无法直接处理所有标记的条目,您可以随时使用 返回此议程视图2
C-c a ?
。
但是,当我收到带有错误的 pull 时,我的收件箱文件 (index.org) 会自动打开,并显示格式正确的 pull 勘误表(旧/新、一些标签、文件描述符等),但没有标记 :FLAGGED:。因此,这些都不起作用,我必须手动检查并应用修复。
生成文件中的示例勘误表:
* Body was changed in MobileOrg and on the computer F(edit:body) [[olp:tracking.org:header1/header2][[2013-12-08 日 11:59]]]
** Old value
- Foo
** New value
- Bar
** End of edit
答案1
是的,我可以在 2023 年的 Emacs 28.2 上重现此问题,只需在这里发帖即可帮助其他受此问题困扰的人。
在我看来,这是一个错误,仅当我编辑 orgmode 文件的第一个节点时才会发生,并且在第一个节点之前没有任何其他文本,例如:
* the very first node
some content, and try to edit this file on MobileOrg
一个显而易见的解决方法是在第一个标题前添加一些换行符。