我正在寻找一种方法来将我正在处理的文件的当前完整文件名保存到我的复制粘贴缓冲区中,以便能够切换到另一个程序并粘贴例如“C:\some\path\file.txt”。
我尝试了以下方法,但实际上几乎什么也没做:
(defun clip-file ()
"Put the current file name on the clipboard"
(interactive)
(let ((filename (if (equal major-mode 'dired-mode)
(file-name-directory default-directory)
(buffer-file-name))))
(when filename
(x-select-text filename))))
该函数x-select-text
源自interprogram-cut-function
,在 Copy-shortcut 的帮助文件中提到它是M-w
一个包含函数的变量,该函数被调用以保存外部程序的 kill-ring,因此可以将文本从 Emacs 复制粘贴到例如 Firefox .
我在我的 Windows-PC 上使用 Emacs,因此不确定是否x-select-text
可以工作,因为 AFAIK 它与 Linux 的 X-Server 有关?