Generowanie dzisiejszego programu w trybie Org ( C-c a a
) otwiera pliki org-agenda-files
. Nie chcę, aby Emacs otwierał te dodatkowe bufory.
Czy jest prosty sposób powiedzieć Emacsowi, aby nie otwierał tych buforów? (lub co to samo, aby automatycznie je zamknąć, jeśli nie były otwarte przed wywołaniem agendy?).
AKTUALIZACJA:
To jest bardziej kompaktowa wersja rozwiązania dostarczonego przez @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)
Niestety, nadal nie jest to idealne, ponieważ teraz kliknięcie wydarzenia w programie nie powoduje otwarcia odpowiedniego pliku organizacji.
źródło
describe-mode
.org-agenda-files
Bufor (y) powinny nie być zabity dopiero po zakończeniu funkcji wyszukiwania. Trzy (3) najczęściej używane funkcje wyszukiwania używane do generowania*Org Agenda*
bufora toorg-agenda-list
:;org-search-view
; aorg-tags-view
.org-agenda-files
jest zarówno zmienną, jak i funkcją - dwoma różnymi, ale spokrewnionymi zwierzętami.źródło
around
sięadvice
.*Org-Agenda*
bufor jest tylko kopią i wklejeniem zorg-agenda-files
[rodzaju, jest on właściwie wypychany na listę, a następnie reorganizowany i wstawiany do*Org-Agenda*
bufora]. Podczas edycji użytkownik przeskakuje z powrotem do oryginału,org-agenda-files
aby dokonać edycji, która, jak zakładają funkcje edycji, jest już otwarta. Jeśli naprawdę musiszorg-agenda-files
zamknąć, gdy nie jest używany, musisz zmodyfikować funkcje edycji, aby otworzyć potrzebny plik, a następnie zamknąć go ponownie po zakończeniu. Mogą też występować inne problemyPo otwarciu programu wystarczy wyjść z niego, naciskając x w buforze programu w dowolnym momencie. Jeśli użyjesz q do porządkowania programu, wszystkie bufory pozostaną otwarte.
źródło
user2699
który został opublikowany 19 lutego 2016 r.Przełączyłem się na nowy przepływ pracy w trybie org.
Wcześniej używam:
NOTE.org
jako główna pamięć dla notatek w dowolnej formie edytowanych ręcznie z kluczem do szybkiego dostępu do tego plikuTODO.org
dlaorg-remember
lub(lambda () (interactive) (org-capture nil "t"))
TODO.org
Odwiedzam tylko przez C-c a a. AleNOTE.org
stają się niemożliwe do utrzymania przy rozmiarze większym niż 1 MiB zwykłego tekstu.Więc podzielić ten plik przez wybitnych głównych łatwych tematów, jak
LEARNING.org
,PURCHASES.org
,emacs-python.org
,linux.org
,vps.org
, ...Zamiast utrzymywać listę możliwych nazw, podałem katalog:
Jestem zadowolony z tej konfiguracji, ponieważ mogę szybko znaleźć potrzebny temat, przechodząc do bufora (według IDO poprzez znaczącą nazwę pliku) i wyszukując (według C-s) w ograniczonej przestrzeni.
Wszystkie harmonogramy dostępne za C-c a apośrednictwem wszystkich
.org
plików.Ale teraz mam wiele otwartych nieużywanych
.org
plików, po C-c a aktórych powinienem zabijać, gdy pojawiają się podczas przełączania buforów.Myślę, że raport o błędzie powinien zostać przesłany:
http://debbugs.gnu.org/cgi/bugreport.cgi?archive=yes&bug=22734
źródło