很多时候我需要让我的当前打开的文件的简单的文本副本。 其原因通常是:
- 我想将列表发送给同事
- 我想记录什么我的工作(通常在组织文件)
- 我想采取行动的我当前打开的文件中的一个,在外壳上。 我需要复制粘贴的路径。
事实是,通常的buffer-menu
或list-buffers
提供了方便的菜单导航打开的缓冲器,但非常不方便粘贴复制到终端打开的文件的名称,或执行任何提及的行动以上。 例如:我不能在一条线上双击选择的全路径名,我不能使用kill
/ yank
emacs的序列周围的路径名复制。
总结:我想一个方法来导出到文本文件(或到一个新的缓冲区)打开的文件列表,没有其他数据; 没有文件大小,模式,或任何其它的emacs元数据。
是否有一个命令? 一个额外的软件包我可以安装?
编辑
由杰克逊的三分球解决方案添加,修改,以提供哪些已经做了一些反馈意见:
(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"))