emacs - zapisz bieżącą listę buforów do pliku tekstowego
Często muszę dostać prostą kopię tekstową moich aktualnie otwartych plików. Powody są zazwyczaj:
Chcę wysłać listę do kolegiChcę dokumentować wszystko, nad czym pracuję (zwykle w dokumencie org)Chcę działać na jednym z moich aktualnie otwartych plików, na powłoce. Muszę do tego skopiować i wkleić nazwę ścieżki.Faktem jest, że zwyklebuffer-menu
lublist-buffers
zapewniają wygodne menu do nawigacji po otwartych buforach, ale są bardzo niewygodne, aby skopiować i wkleić do terminala nazwy otwartych plików lub wykonać dowolną z akcji wymienionych powyżej. Na przykład: nie mogę kliknąć dwukrotnie w wierszu, aby wybrać pełną nazwę ścieżki, i nie mogę użyćkill
/yank
sekwencja emacsa do kopiowania wokół nazwy ścieżki.
Podsumowanie: Chciałbym sposób na eksport do pliku tekstowego (lub do nowego bufora) listy otwartych plików, bez innych danych; brak rozmiaru pliku, trybu ani innych metadanych emacsa.
Czy jest do tego polecenie? Dodatkowy pakiet, który mogę zainstalować?
EDYTOWAĆDodanie rozwiązania przez Treya Jacksona, zmodyfikowane w celu dostarczenia informacji zwrotnych o tym, co zostało zrobione:
<code>(defun copy-open-files () "Add paths to all open files to kill ring" (interactive) (kill-new (mapconcat 'identity (delq nil (mapcar 'buffer-file-name (buffer-list))) "\n")) (message "List of files copied to kill ring")) </code>