如何在Emacs Helm模式下复制文件路径

6
我在emacs中使用helm-mode打开文件。然而,当我尝试通过鼠标左键单击并按住来复制文件路径(例如/home/user1/Documents/file1.txt),以便在终端中粘贴时,会出现以下消息: 未定义。 我猜helm不支持如此处所述的鼠标操作,那么我该如何在helm-mode下从emacs复制文件路径并在终端中粘贴呢?
2个回答

5

在这个其他的帖子中给出的答案可能更加直接。

简而言之:在minibuffer中选择文件后,使用C-u C-c C-k。这会调用helm-kill-selection-and-quit。文件的完整路径将被复制到kill ring中,可以在Emacs或其他地方粘贴。


1

我猜你想将Minibuffer中的内容复制到系统剪贴板。Minibuffer的按键绑定与其他缓冲区没有区别。如果在其他缓冲区中使用M-w复制区域,那么在Minibuffer中也应该有效。请注意,如果你nilx-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))

"and"。
(defun paste-from-clipboard ()
  (interactive)
  (setq x-select-enable-clipboard t)
  (yank)
  (setq x-select-enable-clipboard nil))

很遗憾,在helm模式下你不能使用鼠标选择文本(即创建区域);你需要使用set-mark-command命令(默认为C-SPCC-@),并移动光标。或者像大多数其他文本编辑器一样,按住shift并移动光标。还有一个mark-word命令(默认为M-@),可以逐个单词扩展区域。

我还录制了一个asciinema(因为它们很有趣),你可以在这里观看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接