Regularnie używam org-mode
i porządku dziennego, aby śledzić moją listę rzeczy do zrobienia. Ponieważ używam Dropbox do synchronizacji mojej listy, potrzebuję tych samych zadań, aby były dostępne na wszystkich komputerach. Czasami w trakcie mojego czyszczenia zapominam zapisać moje zmiany, pozostawiając emacsa otwarte w domu, kiedy wchodzę do biura (dlatego nie jestem monitowany o oszczędzanie po zamknięciu emacsa). Jak mogę automatycznie zapisywać zmiany w *.org
buforach programu, które są modyfikowane w programie?
EDYCJA: Aby to wyjaśnić, używam widoku planu moich zadań, aby pokazać mi przegląd. Z tego widoku mogę zmienić status zadań. Dodatkowo używam trybu zapamiętywania, aby dodać nowe zadania, które można następnie przeklasyfikować w widoku planu. Te zmiany w programie powodują modyfikację buforów agendy w trybie organizacji, które należy następnie zapisać. Po dokonaniu tych zmian chciałbym, aby bufory były zapisywane automatycznie.
s
często naciskać klawisz w widoku Agenda.C-x C-s
każdym razem, gdy wprowadzę jakiekolwiek zmiany w pliku org-agenda-file (z porządku obrad lub bezpośrednio). Nie automatyczne, ale zachowuje wszystko zapisane.Odpowiedzi:
Byłby to szybki hack, który nie jestem pewien, czy zaspokoi twój przypadek użycia
Dopóki bufor agendy organizacji jest otwarty, wszystkie bufory organizacji będą okresowo zapisywane (jest to równoważne z tym, co by się stało, gdyby
s
był naciskany regularnie z widoku agendy).Jest to nieco nadużywające
auto-save-mode
, ponieważ sam bufor programu nie ma większego sensuauto-save
.Jeśli zdarzy ci się użyć tego hacka, lepiej upewnij się, że pliki kopii zapasowych są przechowywane dla wszystkich plików .org, aby być bezpiecznym.
źródło
Możesz zapisać wszystkie bufory organizacji za każdym razem, gdy wywoływana jest określona funkcja programu. Na przykład, aby zapisać wszystkie bufory organizacji po wyjściu z programu:
Alternatywnie możesz zapisać wszystkie bufory organizacji po każdej edycji, powiedzmy po dodaniu terminu:
Działa to zarówno w buforach organizacji, jak i buforach organizacji. Użyj
org-agenda-deadline
zamiast tego, jeśli chcesz ograniczyć automatyczne zapisywanie do planu.Możesz zrobić to samo dla dowolnej funkcji organizacji, więc ta metoda pozwala dokładnie wybrać, kiedy chcesz zapisać bufory organizacji. Podejście to obejmuje niektóre narożne przypadki, których brakuje w metodzie @Sigma: możesz zapisać swoje zmiany w agendzie, nawet jeśli opuścisz agendę wcześniej, aby
auto-save
mieć szansę na wyzwolenie lub wprowadzisz zmiany poza agendą i zapomnisz o ich zapisaniu.Osobiście używam obu metod, aby pokryć wszystkie moje bazy.[Edycja: Zobacz komentarz na temat rozwiązania @ Sigma, dlaczego już go nie używam.]źródło
(advice-add 'org-refile :after 'org-save-all-org-buffers)
automatycznie zapisywałem pliki org po ponownym przejrzeniu różnych plików.org-refile
oznacza, że nie mogę już „przejść do” określonego nagłówka (w przeciwieństwie doorg-refile
Widzę wiele bardziej skomplikowanych odpowiedzi, to zadziałało dla mnie:
Automatyczne zapisywanie domyślnie działa po 30 sekundach bezczynności (oraz w innych niepowiązanych scenariuszach udokumentowanych w instrukcji )
źródło
Używam następującego fragmentu, aby automatycznie zapisać wszystkie bufory trybu agendy po nowym przechwytywaniu, ale możesz zaczepić go w dowolnym miejscu:
Zmienić
'org-capture-after-finalize-hook
się'org-agenda-finalize-hook
, co wierzę, jest wywoływana tuż przed wyświetleniem bufor porządku obrad.źródło
org-refile-targets
docelowego, więc możliwe jest, że zapisanieorg-agenda-files
nie jest wystarczające. Prawdopodobnie po prostu zadzwoniłbym doorg-save-all-org-buffers
siebie.dash
tam używać :mapcar
jest wbudowany i robi to samo.mapcar
zamiast kreski!