我正在使用 emacs 24,在以前的版本中(我认为是 23)我曾经能够在一个区域上单击鼠标右键以将其复制(copy-region-as-kill)到剪贴板。
但是该功能不再起作用。它类似于双击右键剪切(yank)仍然有效,但我不知道如何实现单击右键复制。
谢谢。
编辑:
我在 emacs 手册中找到了这一点,其中行为在底部的四个要点中进行了描述。
我正在使用 emacs 24,在以前的版本中(我认为是 23)我曾经能够在一个区域上单击鼠标右键以将其复制(copy-region-as-kill)到剪贴板。
但是该功能不再起作用。它类似于双击右键剪切(yank)仍然有效,但我不知道如何实现单击右键复制。
谢谢。
编辑:
我在 emacs 手册中找到了这一点,其中行为在底部的四个要点中进行了描述。
啊,我用defadvice解决了它:
(defadvice mouse-save-then-kill (around mouse2-copy-region activate)
(when (region-active-p)
(copy-region-as-kill (region-beginning) (region-end)))
ad-do-it)
我已经有这个问题很久了,所以当我终于问到它时,我马上就解决了......
(global-set-key (kbd "<mouse-3>") 'copy-region-as-kill)
根据 mouse-save-then-kill 的文档:
如果
mouse-drag-copy-region
为非零,则此命令还将新区域保存到杀伤环(如果先前的区域刚刚保存到杀伤环,则替换先前的杀伤)。
如果您点击鼠标拖动复制区域文档的链接:
在 Emacs 的 24.1 版本中引入了这个变量,或者改变了它的默认值。
我相信问题的真正根源是此默认值更改为 nil,因此您不需要使用 defadvice。如果你这样做M-x customize-variable
mouse-drag-copy-region
并将其设置为非零值,例如t
它应该恢复旧的行为。