组织模式:从稀疏树返回到先前的可见性

时间:2011-07-12 15:34:10

标签: emacs org-mode

将文档过滤到稀疏树后,如何撤消过滤器,返回上一个视图/可见性?因为我还没有弄清楚如何做到这一点,我必须让一切都可见,这在大文件中并不好。似乎它必须是显而易见的,但我找不到答案......

5 个答案:

答案 0 :(得分:12)

根据Bastien on the org mailing list,这是不可能的,并且是一个长期存在的愿望清单项目。

答案 1 :(得分:7)

我不确定你是否可以回到之前的确切视图。但第一步是 C-c C-c ,它将从当前缓冲区中删除临时突出显示/叠加层。

答案 2 :(得分:4)

这看起来对我来说可能是可能的。在下面的代码中,我使用一些建议来在生成稀疏树之前保存大纲状态,并在通过C-c C-c清除它时恢复它。

(setq lexical-binding t)

(let ((*outline-data* nil))
  (defun org-save-outline-state (&optional arg type)
    (setq *outline-data* (org-outline-overlay-data t)))

  (defun org-restore-outline-state (&optional arg)
    (when *outline-data*
      (org-set-outline-overlay-data *outline-data*)
      (setq *outline-data* nil))))

(advice-add 'org-sparse-tree :before 'org-save-outline-state)
(advice-add 'org-match-sparse-tree :before 'org-save-outline-state)
(advice-add 'org-ctrl-c-ctrl-c :after 'org-restore-outline-state)

似乎做你想做的事。

答案 3 :(得分:2)

您可以使用C-x 2创建两个窗口,然后切换到另一个窗口,执行稀疏树。完成后,只需返回原始窗口并按C-x 1即可关闭稀疏树窗口。

答案 4 :(得分:1)

你可能无法回到以前的观点。

但是有三个步骤可以删除备用树效果:

  1. org-agenda-remove-restriction-lock删除锁定的项目 突出显示背景。

  2. org-remove-occur-highlights删除前缀的突出显示。

  3. widen删除对特殊条目的限制,并展开到 查看完整档案。