46

我正在学习 org 模式,并且刚刚了解了稀疏树(Cc / t 及其亲属)。我怎样才能回到我的组织文档的原始、非稀疏视图?

我通过反复试验发现 TAB 循环顶部节点有效,有没有更好的方法?

4

8 回答 8

58

C-c C-c应该清除稀疏树的隐藏和突出显示,但据我所知,你不能只回到你对它的“最后一个视图”。如果要返回全视图,请使用Shift-Tab循环所有条目。

于 2012-09-17T23:29:57.900 回答
9

所以,现在是 2018 年,(AFAIK)这个功能仍然不存在。

到目前为止,我发现的最佳解决方法是创建一个间接缓冲区(Cx 4 c),然后在其中运行 org-sparse-tree。原始窗口不受影响,因此您保留视图,对间接缓冲区的更改将更新原始缓冲区(反之亦然)。完成后,您只需关闭间接缓冲区。

于 2018-12-22T17:48:22.630 回答
8

我通常只是运行org-mode似乎让我回到第一方的命令。

于 2016-08-23T12:57:19.140 回答
5

很晚才来到这里,我注意到选择所有标签然后取消突出显示/取消缩小似乎做正确的事情。

C-c \ *
C-c C-c
于 2019-11-29T09:09:26.767 回答
4

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.

于 2020-07-31T16:12:11.607 回答
3

任何地方的 TAB 循环仅隐藏由 突出显示的条目org-sparse-tree

要删除覆盖,您需要实际编辑缓冲区。

于 2012-09-17T05:53:22.117 回答
2

正如您所说,您可以使用 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 的美妙之处在于有人会告诉我们:)。

于 2014-01-13T02:00:08.810 回答
0

我通常会使用C-x C-v RET(find-alternate-file) 或M-x revert-buffer. 这仅在您没有未保存的编辑时才有效。

于 2019-02-19T14:03:23.730 回答