Często zostawiam Emacsa (właściwie Aquamaca) otwartego i kończę z dużą ilością buforów zaśmiecających moje automatyczne uzupełnianie. Chciałbym móc je wszystkie zamknąć i zacząć od nowa. W tej chwili rezygnuję i otwieram ponownie Emacsa, ale to źle się czuję.
Czy istnieje sposób na zamknięcie wszystkich buforów w Emacsie?
To jest Emacs 24.4 / Aquamacs 3.2.
(defun close-all-buffers () (interactive) (mapc 'kill-buffer (buffer-list)))
- stackoverflow.com/a/3417472/2112489clean-buffer-list
, co spowoduje zamknięcie wszystkich buforów, które nie były używane przez pewien czas.Odpowiedzi:
Następująca funkcja została napisana przez nazwę użytkownika Starkey podczas stackoverflow w powiązanym pytaniu: https://stackoverflow.com/a/3417472/2112489
EDYCJA : Jak sugeruje @Drew w komentarzu poniżej, ogólnie dobrym pomysłem jest przechowywanie wewnętrznych buforów, które mają wiodące miejsce w nazwach. Dokument doc zawiera objaśnienie działania tej funkcji. Skrót klawiaturowy
F5
klawisza jest tylko przykładem do testowania funkcji w połączeniu z uniwersalnym argumentem.źródło
Wydaje mi się, że twoim głównym problemem są wiele starych buforów, których prawdopodobnie nie odwiedziłeś przez jakiś czas.
W emacsie jest polecenie
clean-buffer-list
. Domyślnie czyści bufory, do których nie było dostępu przez 3 dni (lub 1 godzinę, w przypadku niektórych buforów specjalnych). Oczywiście możesz dostosować czas. Zobacz takżemidnight-mode
, który robi to automatycznie w określonym czasie.Jeśli nie chcesz zabijać wszystkich buforów oprócz tego, którego aktualnie używasz:
źródło