Utilizo regularmente org-mode
y la agenda para realizar un seguimiento de mi lista de tareas pendientes. Como uso Dropbox para sincronizar mi lista, necesito que las mismas tareas estén disponibles en todas las computadoras. A veces, durante el curso de mi limpieza, me olvido de guardar mis cambios, dejando los emacs abiertos en casa cuando entro en la oficina (por lo tanto, no se me pide que ahorre al cerrar los emacs). ¿Cómo puedo guardar automáticamente los cambios en los *.org
buffers de agenda que se modifican a través de la agenda?
EDITAR: Para aclarar, utilizo la vista de agenda de mis tareas para mostrarme una descripción general. Desde esa vista, puedo cambiar el estado de las tareas. Además, uso el modo recordar para agregar nuevas tareas, que luego se pueden recategorizar en la vista de agenda. Estos cambios en la agenda dan como resultado buffers de agenda modificados en modo org, que luego deben guardarse. Cuando se realizan estos cambios, me gustaría que los búferes se guarden automáticamente.
s
tecla con frecuencia cuando esté en la vista Agenda.C-x C-s
cada vez que hago algún cambio en un archivo de agenda de la organización (desde la agenda o directamente). No es automático, pero mantiene todo guardado.Respuestas:
Un truco rápido, que no estoy seguro satisfará su caso de uso sería
Mientras el búfer de la agenda de la organización esté abierto, todos los búferes de la organización se guardarán periódicamente (es equivalente a lo que sucedería si
s
se pulsara regularmente desde la vista de la agenda).Esto es un poco abusivo ya
auto-save-mode
que el búfer de la agenda en sí no tiene mucho sentido en lo queauto-save
respecta.Si usa ese truco, será mejor que se asegure de que los archivos de copia de seguridad se guarden para todos sus archivos .org, para estar seguros.
fuente
Puede guardar todos los buffers de organización cada vez que se llama a una función de agenda en particular. Por ejemplo, para guardar todos los búferes de organización después de salir de la agenda:
Alternativamente, puede guardar todos los buffers de organización después de cada edición, digamos después de agregar una fecha límite:
Esto funcionará tanto en org-agenda como en buffers de org. Utilice
org-agenda-deadline
en su lugar si desea restringir los guardados automáticos a la agenda.Puede hacer lo mismo para cualquier función de organización, por lo que este método le permite elegir exactamente cuándo guardar los búferes de organización. Este enfoque cubre algunos casos esquimales que el método de @Sigma pierde: puede guardar los cambios de su agenda incluso si abandona la agenda antes de
auto-save
tener la oportunidad de activarse, o hacer cambios fuera de la agenda y olvida guardarlos.Yo personalmente uso ambos métodos para cubrir todas mis bases.[Editar: Vea el comentario en la solución @Sigma para saber por qué ya no uso su solución.]fuente
(advice-add 'org-refile :after 'org-save-all-org-buffers)
guarde automáticamente los archivos de la organización después de volver a archivar en diferentes archivos.org-refile
significa que ya no puedo "Ir a" un título determinado (en lugar de rellenar el que está debajo del cursor) llamandoorg-refile
con un argumento de prefijo ...Veo muchas respuestas que son más complicadas, esto funcionó para mí:
La opción Guardar automáticamente se ejecuta después de 30 segundos de inactividad (y en otros escenarios no relacionados documentados en el manual )
fuente
Utilizo el siguiente fragmento para guardar automáticamente todos los búferes de modo de agenda después de una nueva captura, pero puede conectarlo en cualquier lugar que desee:
Cambie
'org-capture-after-finalize-hook
a'org-agenda-finalize-hook
, que creo que se llama justo antes de mostrar el búfer de agenda.fuente
org-refile-targets
destinos, por lo que es posible que guardarorg-agenda-files
no sea suficiente. Probablemente soloorg-save-all-org-buffers
me llamaría a mí mismo.dash
allí:mapcar
está integrado y hace lo mismo.mapcar
lugar del guión!