Подтвердить что ты не робот

Org-mode: вернуться от редкого дерева к предыдущей видимости

После фильтрации моего документа на редкое дерево, как мне отменить фильтр, вернувшись к предыдущему виду/видимости? Поскольку я не разработал, как это сделать, я должен сделать все видимым, что не очень приятно в больших документах. Похоже, это должно быть очевидно, но я не могу найти ответ...

4b9b3361

Ответ 1

Похоже, это возможно для меня. В следующем коде я использую несколько советов, чтобы сохранить состояние контура перед созданием разреженного дерева и восстановить его, когда он очищается с помощью 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

Я не уверен, что вы можете вернуться к точному предыдущему виду. Но первый шаг - C-c C-c, который удалит временные блики/наложения из текущего буфера.

Ответ 4

Вы можете создать два окна с помощью C-x 2, затем переключиться в другое окно, сделать редкое дерево. Когда вы закончите, просто вернитесь в исходное окно и нажмите C-x 1, чтобы закрыть окно разреженного дерева.

Ответ 5

Вероятно, вы не можете вернуться к тому же виду, что и раньше.

Но есть три шага для удаления дополнительных эффектов дерева:

  • org-agenda-remove-restriction-lock, чтобы удалить заблокированные элементы " выделенный фон.

  • org-remove-occur-highlights, чтобы удалить выделение префикса.

  • widen, чтобы удалить ограничение на специальную запись, и просмотрите полный файл.