emacs - сохранить текущий список буферов в текстовый файл
Довольно часто мне нужно получить простую текстовую копию моих текущих открытых файлов. Причины обычно:
I want to send the list to a colleague I want to document whatever I am working on (usually in an org document) I want to act on one of my currently opened files, on the shell. I need to copy-paste the pathname for that.Дело в том, что обычныйbuffer-menu
или жеlist-buffers
предоставить удобное меню для навигации по открытым буферам, но очень неудобно копировать-вставлять в терминал имена открытых файлов или выполнять какие-либо действия, упомянутые выше. Например: я не могу дважды щелкнуть по строке, чтобы выбрать полное имя пути, и я не могу использоватьkill
/yank
Последовательность Emacs для копирования вокруг имени пути.
Резюме: я хотел бы, чтобы способ экспортировать в текстовый файл (или в новый буфер) список открытых файлов без других данных; нет размера файла, режима или каких-либо других метаданных emacs.
Есть ли команда для этого? Дополнительный пакет, который я могу установить?
EDITДобавление решения от Трея Джексона, модифицированного, чтобы обеспечить некоторую обратную связь о том, что было сделано:
<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>