После фильтрации моего документа на редкое дерево, как мне отменить фильтр, вернувшись к предыдущему виду/видимости? Поскольку я не разработал, как это сделать, я должен сделать все видимым, что не очень приятно в больших документах. Похоже, это должно быть очевидно, но я не могу найти ответ...
Org-mode: вернуться от редкого дерева к предыдущей видимости
Ответ 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)
Кажется, он делает то, что вы хотите.
Ответ 2
В соответствии с Bastien в списке рассылки org это невозможно и является давним элементом списка желаний.
Ответ 3
Я не уверен, что вы можете вернуться к точному предыдущему виду. Но первый шаг - C-c C-c, который удалит временные блики/наложения из текущего буфера.
Ответ 4
Вы можете создать два окна с помощью C-x 2, затем переключиться в другое окно, сделать редкое дерево. Когда вы закончите, просто вернитесь в исходное окно и нажмите C-x 1, чтобы закрыть окно разреженного дерева.
Ответ 5
Вероятно, вы не можете вернуться к тому же виду, что и раньше.
Но есть три шага для удаления дополнительных эффектов дерева:
-
org-agenda-remove-restriction-lock
, чтобы удалить заблокированные элементы " выделенный фон. -
org-remove-occur-highlights
, чтобы удалить выделение префикса. -
widen
, чтобы удалить ограничение на специальную запись, и просмотрите полный файл.