Генерация сегодняшней повестки дня в Org-Mode ( C-c a a
) открывает файлы в org-agenda-files
. Я не хочу, чтобы Emacs открывал эти дополнительные буферы.
Есть ли простой способ сказать Emacs не открывать эти буферы? (или, что то же самое, автоматически закрывать их, если они не были открыты до вызова повестки дня?).
ОБНОВИТЬ:
Это более компактная версия решения, предоставляемого @lawlist:
(require 'dash)
(defun my-org-keep-quiet (orig-fun &rest args)
(let ((buffers-pre (-filter #'get-file-buffer (org-agenda-files))))
(apply orig-fun args)
(let* ((buffers-post (-filter #'get-file-buffer (org-agenda-files)))
(buffers-new (-difference buffers-post buffers-pre)))
(mapcar (lambda (file) (kill-buffer (get-file-buffer file))) buffers-new))))
(advice-add 'org-agenda-list :around #'my-org-keep-quiet)
(advice-add 'org-search-view :around #'my-org-keep-quiet)
(advice-add 'org-tags-view :around #'my-org-keep-quiet)
К сожалению, это все еще не идеально, так как теперь нажатие на событие в повестке дня не открывает соответствующий файл org.
источник
describe-mode
.org-agenda-files
Буфер (ы) должны не быть убитым , пока после того , как функции поиска завершения. Три (3) большинство функций поиска общего используемых для генерации*Org Agenda*
буфера являются:org-agenda-list
;org-search-view
; иorg-tags-view
.org-agenda-files
это и переменная, и функция - два разных, но связанных животных.источник
around
сadvice
.*Org-Agenda*
буфер - это просто копия и вставка изorg-agenda-files
[вида, он фактически помещается в список, а затем реорганизуется и вставляется в*Org-Agenda*
буфер]. При редактировании пользователь возвращается к оригиналу,org-agenda-files
чтобы выполнить редактирование, которое, как предполагают функции редактирования, уже открыто. Если вам действительно нужноorg-agenda-files
закрыть окно, когда оно не используется, вам нужно будет пересмотреть функции редактирования, чтобы открыть нужный файл, а затем снова закрыть его, когда закончите. Могут быть и другие проблемыПосле того, как вы открыли повестку дня, просто выйдите из нее, нажав x в буфере повестки дня в любое время. Если вы используете q для заполнения повестки дня, все буферы останутся открытыми.
источник
user2699
который был опубликован 19 февраля 2016 г.Я переключился на новый рабочий процесс в режиме орг.
Ранее я использую:
NOTE.org
в качестве основного хранилища для заметок произвольной формы, отредактированных вручную с привязкой клавиш для быстрого доступа к этому файлуTODO.org
дляorg-remember
или(lambda () (interactive) (org-capture nil "t"))
TODO.org
Я посещаю только через C-c a a. НоNOTE.org
становится не поддерживаемым с размером больше 1 МБ простого текста.Поэтому я разделить этот файл по основным легким отмеченными темам, как
LEARNING.org
,PURCHASES.org
,emacs-python.org
,linux.org
,vps.org
, ...Вместо того, чтобы поддерживать список возможных имен, я указал каталог:
Я доволен этой настройкой, потому что я могу быстро найти необходимую тему, переключаясь в буфер (по IDO через осмысленное имя файла) и ища (по C-s) в ограниченном пространстве.
Все графики доступны C-c a aчерез все
.org
файлы.Но теперь у меня есть много открытых неиспользуемых
.org
файлов, после C-c a aкоторых я должен убивать, когда они появляются во время переключения буфера.Я думаю, что отчет об ошибке должен быть представлен:
http://debbugs.gnu.org/cgi/bugreport.cgi?archive=yes&bug=22734
источник