J'utilise régulièrement org-mode
et l'agenda pour garder une trace de ma liste de tâches. Étant donné que j'utilise Dropbox pour synchroniser ma liste, j'ai besoin que les mêmes tâches soient disponibles sur tous les ordinateurs. Parfois, au cours de mon nettoyage, j'oublie d'enregistrer mes modifications, laissant emacs ouvert à la maison lorsque je rentre au bureau (donc je ne suis pas invité à économiser à la fermeture d'emacs). Comment puis-je enregistrer automatiquement les modifications apportées aux *.org
tampons d'agenda qui sont modifiés via l'agenda?
EDIT: Pour clarifier, j'utilise la vue de l'agenda de mes tâches pour me montrer un aperçu. De cette vue, je peux changer l'état des tâches. De plus, j'utilise le mode souvenir pour ajouter de nouvelles tâches, qui peuvent ensuite être reclassées dans la vue de l'agenda. Ces changements dans l'agenda entraînent des tampons d'agenda en mode organisationnel modifiés, qui doivent ensuite être enregistrés. Lorsque ces modifications sont apportées, je souhaite que les tampons soient enregistrés automatiquement.
s
fréquemment sur la touche lorsque je suis en mode Agenda.C-x C-s
chaque fois que j'apporte des modifications dans un fichier org-agenda-file (à partir de l'agenda ou directement). Pas automatique mais garde tout sauvegardé.Réponses:
Un hack rapide, dont je ne suis pas sûr qu'il satisfera votre cas d'utilisation serait
Tant que le tampon de l'agenda de l'organisation est ouvert, tous les tampons de l'organisation seront enregistrés périodiquement (ce qui équivaut à ce qui se passerait s'il
s
était pressé régulièrement depuis la vue de l'agenda).C'est quelque peu abusif
auto-save-mode
dans la mesure où le tampon de l'agenda lui-même n'a pas beaucoup de sens en ce quiauto-save
concerne.Si vous utilisez ce hack, vous feriez mieux de vous assurer que les fichiers de sauvegarde sont conservés pour tous vos fichiers .org, par sécurité.
la source
Vous pouvez enregistrer tous les tampons d'organisation chaque fois qu'une fonction d'agenda particulière est appelée. Par exemple, pour enregistrer tous les tampons d'organisation après avoir quitté l'agenda:
Alternativement, vous pouvez enregistrer tous les tampons d'organisation après chaque modification, par exemple après l'ajout d'un délai:
Cela fonctionnera à la fois dans org-agenda et org buffers. Utilisez-le à la
org-agenda-deadline
place si vous souhaitez restreindre les enregistrements automatiques à l'agenda.Vous pouvez faire de même pour n'importe quelle fonction d'organisation, donc cette méthode vous permet de choisir exactement quand enregistrer les tampons d'organisation. Cette approche couvre certains cas de coin que la méthode de @Sigma manque: vous pouvez enregistrer vos modifications d'agenda même si vous quittez l'agenda avant
auto-save
a une chance de se déclencher, ou effectuez des modifications en dehors de l'agenda et oubliez de les enregistrer.J'utilise personnellement les deux méthodes pour couvrir toutes mes bases.[Modifier: Voir le commentaire sur la solution @Sigma pour savoir pourquoi je n'utilise plus sa solution.]la source
(advice-add 'org-refile :after 'org-save-all-org-buffers)
automatiquement enregistré les fichiers org après avoir refilé à différents fichiers.org-refile
signifie que je ne peux plus "aller à" un certain titre (au lieu de refaire celui sous le curseur) en appelantorg-refile
avec un argument préfixe ..Je vois beaucoup de réponses plus compliquées, cela a fonctionné pour moi:
L'enregistrement automatique est par défaut exécuté après 30 secondes d'inactivité (et dans d'autres scénarios non liés documentés dans le manuel )
la source
J'utilise l'extrait de code suivant pour enregistrer automatiquement tous les tampons du mode agenda après une nouvelle capture, mais vous pouvez le raccorder où vous le souhaitez:
Changez le
'org-capture-after-finalize-hook
en'org-agenda-finalize-hook
, qui je crois s'appelle juste avant d'afficher le tampon de l'agenda.la source
org-refile-targets
destinations, il est donc possible que l'enregistrementorg-agenda-files
ne soit pas suffisant. Je m'appellerais probablementorg-save-all-org-buffers
.dash
là:mapcar
est intégré et fait la même chose.mapcar
au lieu du tiret!