我正在学习 org 模式,并且刚刚了解了稀疏树(Cc / t 及其亲属)。我怎样才能回到我的组织文档的原始、非稀疏视图?
我通过反复试验发现 TAB 循环顶部节点有效,有没有更好的方法?
C-c C-c
应该清除稀疏树的隐藏和突出显示,但据我所知,你不能只回到你对它的“最后一个视图”。如果要返回全视图,请使用Shift-Tab
循环所有条目。
所以,现在是 2018 年,(AFAIK)这个功能仍然不存在。
到目前为止,我发现的最佳解决方法是创建一个间接缓冲区(Cx 4 c),然后在其中运行 org-sparse-tree。原始窗口不受影响,因此您保留视图,对间接缓冲区的更改将更新原始缓冲区(反之亦然)。完成后,您只需关闭间接缓冲区。
我通常只是运行org-mode
似乎让我回到第一方的命令。
很晚才来到这里,我注意到选择所有标签然后取消突出显示/取消缩小似乎做正确的事情。
C-c \ *
C-c C-c
Ben K. was on the right track. Indirect buffers are one of emacs' most powerful features.
This function does what I would have expected org-show-todo-tree
to do: create a new buffer showing undone TODO items, don't screw up my org file's tree state, and clear the unnecessary occur highlighting.
(defun org-todo-buffer ()
"Create new indirect buffer with sparse tree of undone TODO items"
(interactive)
(clone-indirect-buffer "*org TODO undone*" t)
(org-show-todo-tree nil) ; mimics interactive usage
(org-remove-occur-highlights)
)
In this new buffer you can change TODO item states which are reflected in your org file, and you can simply kill the indirect buffer when you are done with it.
任何地方的 TAB 循环仅隐藏由 突出显示的条目org-sparse-tree
。
要删除覆盖,您需要实际编辑缓冲区。
正如您所说,您可以使用 S-TAB 进行能见度骑行,但我个人不喜欢能见度骑行,因为我不确定自己在循环中的哪个位置。
所以我刚刚创建了这个简单的 org-agenda-custom-command,它显示所有内容而不突出显示。只需将其添加到您的 .emacs 文件中即可。
(setq org-agenda-custom-commands
; ... other commands
`(("z" "All" occur-tree "."
((org-show-entry-below t)
(org-highlight-sparse-tree-matches nil)))))
可能有更好的方法来做到这一点,SO 的美妙之处在于有人会告诉我们:)。
我通常会使用C-x C-v RET
(find-alternate-file) 或M-x revert-buffer
. 这仅在您没有未保存的编辑时才有效。