在Linux环境中使用Emacs 25,我经常用鼠标复制文本,并希望我可以在Emacs中使用某些命令粘贴复制的文本,但目前我所知道的唯一方法是通过鼠标中键点击绑定to mouse-yank-primary。
我试图将此绑定到一个键命令,同时将鼠标设置为设置为true,但这(我怀疑)需要鼠标事件才能正常工作而且我是不知道如何让Emacs相信鼠标事件因击键而失效。
有人有什么想法吗?或者只是知道从PRIMARY选择中用键盘猛拉的正确方法?
答案 0 :(得分:11)
感谢Christian的回答后,我找到了select.el并想出了以下信息,以便坚持我的.emacs
;; Pull from PRIMARY (same as middle mouse click)
(defun get-primary ()
(interactive)
(insert
(gui-get-primary-selection)))
(global-set-key "\C-c\C-y" 'get-primary)
编辑:正如Stefan所指出的,gui-get-primary-selection(以及更一般地说,gui-get-selection)仅在Emacs 25及更高版本中可用。在Emacs 25.1中,x-get-selection已经过时了。
答案 1 :(得分:4)
我对emacs在S-insert上插入辅助X选择并发现此线程的默认行为感到恼火。我尝试使用Silfheed的代码,但emacs 24没有'gui-get-primary-selection'这样的功能。所以我浏览了'mouse-yank-primary'的来源,并想出了这个替代解决方案:
;; Pull from PRIMARY (same as middle mouse click)
(defun paste-primary-selection ()
(interactive)
(insert
(x-get-selection 'PRIMARY)))
(global-set-key (kbd "S-<insert>") 'paste-primary-selection)
因此,s-insert将在光标位置插入主X选择 - 就像在xterm ...
中一样答案 2 :(得分:1)
尝试设置:
(setq select-enable-clipboard t)
这样,正常的kill / yank命令(例如C-w和C-y)将与剪贴板一起使用。适用于X11和OSX(我相信,也适用于Windows)。
如果您查阅该变量的文档(例如通过C-h v),您应该这样一句话:
You can customize this variable.
其中“customize”是您可以单击的链接。这将带您进入Emacs的习惯系统,该系统提供了一种更简单,更有指导性的配置Emacs的方法。特别是,它将向您展示可能与调整相关的控件。即使您不希望以这种方式控制您的配置,您也可以将其用作设置重要变量的指南以及它们可以设置的内容。
答案 3 :(得分:1)
希望这会有所帮助。它是从上方无耻复制的,但是可以在24和25上使用。我还没有在其他版本中进行过测试。
(if (< emacs-major-version 25)This w
;; in emacs 24 or previous
(defun paste-primary-selection ()
(interactive)
(insert (x-get-selection 'PRIMARY))
)
;; in emacs 25 and above
(defun paste-primary-selection ()
(interactive)
(insert (gui-get-primary-selection)))
)
(global-set-key (kbd "S-<insert>") 'paste-primary-selection)