emacs - Speichert die aktuelle Pufferliste in eine Textdatei

Sehr oft muss ich eine einfache Textkopie meiner aktuell geöffneten Dateien erhalten. Die Gründe sind normalerweise:

Ich möchte die Liste an einen Kollegen sendenIch möchte dokumentieren, woran ich gerade arbeite (normalerweise in einem Organisationsdokument)Ich möchte auf eine meiner aktuell geöffneten Dateien in der Shell reagieren. Ich muss den Pfadnamen dafür kopieren-einfügen.

Tatsache ist, dass das üblich istbuffer-menu oderlist-buffers Bietet ein praktisches Menü zum Navigieren in den geöffneten Puffern, ist jedoch sehr unpraktisch, wenn Sie die Namen der geöffneten Dateien kopieren und in das Terminal einfügen oder eine der oben genannten Aktionen ausführen möchten. Zum Beispiel: Ich kann nicht auf eine Zeile doppelklicken, um den vollständigen Pfadnamen auszuwählen, und ich kann den nicht verwendenkill/yank Emacs-Sequenz zum Kopieren um den Pfadnamen.

Zusammenfassung: Ich möchte die Liste der geöffneten Dateien ohne andere Daten in eine Textdatei (oder in einen neuen Puffer) exportieren. Keine Dateigröße, Modus oder andere Emacs-Metadaten.

Gibt es dafür einen Befehl? Ein zusätzliches Paket, das ich installieren kann?

BEARBEITEN

Hinzufügen einer Lösung von Trey Jackson, modifiziert, um ein Feedback zu geben, was getan wurde:

<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>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage