La generación de la agenda de hoy en Org-Mode ( C-c a a
) abre los archivos en org-agenda-files
. No quiero que Emacs abra estos búferes adicionales.
¿Hay alguna manera fácil de decirle a Emacs que no abra estos búferes? (¿o qué es lo mismo, cerrarlos automáticamente si no estaban abiertos antes de llamar a la agenda?).
ACTUALIZAR:
Esta es una versión más compacta de la solución provista por @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)
Lamentablemente, esto todavía no es perfecto, ya que al hacer clic en un evento en la agenda no se abre el archivo de organización correspondiente.
fuente
describe-mode
.El
org-agenda-files
búfer (s) no debe eliminarse hasta que las funciones de búsqueda hayan finalizado. Los tres (3) la mayoría de las funciones de búsqueda comunes utilizados para generar un*Org Agenda*
tampón son:org-agenda-list
;org-search-view
; yorg-tags-view
.org-agenda-files
es a la vez una variable y una función: dos animales diferentes, pero relacionados.fuente
around
conadvice
.*Org-Agenda*
búfer es solo una copia y pega delorg-agenda-files
[tipo de, en realidad se inserta en una lista y luego se reorganiza e inserta en el*Org-Agenda*
búfer]. Al editar, un usuario vuelve al originalorg-agenda-files
para realizar la edición, que las funciones de edición suponen que ya está abierta. Si realmente tiene queorg-agenda-files
cerrarlo cuando no esté en uso, deberá revisar las funciones de edición para abrir el archivo necesario y luego cerrarlo nuevamente cuando haya terminado. También puede haber otros problemasDespués de abrir la agenda, simplemente salga presionando x en el búfer de la agenda en cualquier momento. Si usa q para completar la agenda, mantendrá abiertos todos los búferes.
fuente
user2699
la publicada el 19 de febrero de 2016.Cambié al nuevo flujo de trabajo del modo org.
Anteriormente uso:
NOTE.org
como almacenamiento principal para notas de forma gratuita editadas a mano con enlace de teclas para acceder rápidamente a este archivoTODO.org
paraorg-remember
o(lambda () (interactive) (org-capture nil "t"))
TODO.org
Visito solo via C-c a a. PeroNOTE.org
no se puede mantener con un tamaño superior a 1 MiB de texto sin formato.Así que he dividido este archivo por temas principales distinguidos fácil, como
LEARNING.org
,PURCHASES.org
,emacs-python.org
,linux.org
,vps.org
, ...En lugar de mantener la lista de posibles nombres, he especificado el directorio:
Estoy contento con esta configuración porque puedo encontrar rápidamente el tema necesario al cambiar al búfer (por IDO a través de un nombre de archivo significativo) y buscar (por C-s) en un espacio limitado.
Todos los horarios están disponibles en C-c a atodos los
.org
archivos.Pero ahora tengo muchos
.org
archivos abiertos no utilizados , después de lo C-c a acual debería matarlos cuando aparezcan durante los cambios de búfer.Creo que el informe de error debe enviarse:
http://debbugs.gnu.org/cgi/bugreport.cgi?archive=yes&bug=22734
fuente