我在emacs中使用helm-mode打开文件。然而,当我尝试通过鼠标左键单击并按住来复制文件路径(例如/home/user1/Documents/file1.txt),以便在终端中粘贴时,会出现以下消息:
未定义。
我猜helm不支持如此处所述的鼠标操作,那么我该如何在helm-mode下从emacs复制文件路径并在终端中粘贴呢?
在这个其他的帖子中给出的答案可能更加直接。
简而言之:在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))
set-mark-command
命令(默认为C-SPC
或C-@
),并移动光标。或者像大多数其他文本编辑器一样,按住shift
并移动光标。还有一个mark-word
命令(默认为M-@
),可以逐个单词扩展区域。
我还录制了一个asciinema
(因为它们很有趣),你可以在这里观看。