Emacs 24改变了复制/粘贴行为的工作方式,以符合现代X应用程序(参见"Selection changes"下的this article) . 他们明确地将主要选择和鼠标中键粘贴从剪贴板复制/粘贴中分离出来 .
不幸的是,在MS Windows下使用原生(不是cygwin!)Emacs 24.2.1,这会弄乱我想要的工作方式 .
这就是我想要的:
-
在Emacs中突出显示(选择)文本会自动将其复制到Windows剪贴板 . 如果我将其粘贴(Ctrl-V)在另一个Windows应用程序中粘贴它 . 如果我在Emacs中键入C-y(yank),它会粘贴 . 如果我在Emacs中单击鼠标中键,它会粘贴 .
-
杀死Emacs(C-w)将数据复制到剪贴板 . 如果我将其粘贴(Ctrl-V)在另一个Windows应用程序中粘贴它 . 如果我在Emacs中键入C-y(yank),它会粘贴 . 如果我在Emacs中单击鼠标中键,它会粘贴 the clipboard contents, not the last selected text .
-
我从另一个Windows应用程序(例如通过Ctrl-C)复制到剪贴板的任何内容都可以通过键入C-y(yank) or middle-clicking (现在,中间点击粘贴最后选择的文本,而不是剪贴板内容)粘贴到Emacs中 .
总而言之,我认为这意味着在Emacs中删除主要选择和剪贴板之间的区别 . 我希望一切都在剪贴板上行动!
3 回答
来自NEWS的以下条目似乎相关:
mouse-drag-copy-region
现在默认为零 .mouse-2现在绑定到
mouse-yank-primary
.这是从主要选择粘贴,忽略杀死环 . 以前,mouse-2绑定到
mouse-yank-at-click
.要返回先前的行为,请执行以下操作:
将
select-active-regions
更改为nil .将
mouse-drag-copy-region
更改为t .将
x-select-enable-primary
更改为t(仅限X) .将
x-select-enable-clipboard
更改为零 .将
mouse-yank-at-click
绑定到mouse-2 .我认为要在Windows上获得以前的行为,您需要将
x-select-enable-primary
和x-select-enable-clipboard
保留为其当前值,并且可能select-active-regions
与您在此处抱怨的行为更改无关 .以下是放在.emacs文件中的确切行:
似乎拖动鼠标对剪贴板没有任何作用 . 以下添加,但我不知道它指向和标记的作用:
据我所知,第2点和第3点已经有效"out-of-the-box"?
另外,我认为你对历史(如杀戮戒指)不感兴趣吗?
你的意思是突出显示"selecting it"(在称为区域的emacs中),或实际突出显示它(给它一个颜色,比如说,黄色)?
如果你的意思是选择它,我认为问题是Emacs不知道你的选择何时结束,因此必须将它复制到剪贴板?这就是为什么你会使用
Meta-W
(Alt-Shift-w)将它复制到kill-ring
,可以在Emacs之外访问 .(我在这里发布了这个,因为我觉得这些评论很混乱,但我稍后会删除或更改此答案)
我想你会在
mouse.el
找到你需要的所有信息:要到达那里,请尝试:C-hkany鼠标按钮并单击mouse.el以找出它的定义位置 . 如果您在文件中查找更多“
global-set-key
”,您可能会找到您正在寻找的内容(我仍然不是100%肯定)