我在 emacs 中使用 helm-mode 打开文件。但是,当我尝试通过鼠标左键单击复制文件的路径(例如 /home/user1/Documents/file1.txt)并按住以将其粘贴到终端时,我收到一条消息说
<down-mouse-1> is undefined
我猜 helm 不支持此处描述的鼠标操作,在这种情况下,如何从 emacs(在 helm 模式下)复制文件的路径以将其粘贴到终端
我在 emacs 中使用 helm-mode 打开文件。但是,当我尝试通过鼠标左键单击复制文件的路径(例如 /home/user1/Documents/file1.txt)并按住以将其粘贴到终端时,我收到一条消息说
<down-mouse-1> is undefined
我猜 helm 不支持此处描述的鼠标操作,在这种情况下,如何从 emacs(在 helm 模式下)复制文件的路径以将其粘贴到终端
在另一个线程中给出的答案可能看起来更直接。
简而言之:在 minibuffer 中选择的文件使用C-u C-c C-k
. 这调用helm-kill-selection-and-quit
. 文件的完整路径被复制到 kill ring 中,并且可以粘贴到 Emacs 或其他地方。
我猜你想从 Minibuffer 复制到你的系统剪贴板。Minibuffer 键绑定与其他缓冲区没有什么不同。如果在其他缓冲区中M-w
用于复制区域,它也应该在 Minibuffer 中工作。请注意,如果您nil
编辑,则x-select-enable-clipboard
需要先启用它。我有以下功能init.el
(defun copy-to-clipboard()
(interactive)
(setq x-select-enable-clipboard t)
(kill-ring-save (region-beginning) (region-end))
(setq x-select-enable-clipboard nil))
和
(defun paste-from-clipboard ()
(interactive)
(setq x-select-enable-clipboard t)
(yank)
(setq x-select-enable-clipboard nil))
不幸的是,您不能在 helm-mode 中使用鼠标选择文本(即创建一个区域);您需要set-mark-command
(默认情况下C-SPC
或C-@
)并移动您的点(即光标)。shift
或者像大多数其他文本编辑器一样按住并移动该点。还有一个mark-word
命令(默认情况下M-@
)逐字扩展区域。
我还录制了一个asciinema
(因为它们很有趣)你可以在这里观看