XEmacs 中有一个功能,如果用户在按住 的同时用鼠标选择一个区域Ctrl,所选区域将自动粘贴到当前光标位置。
换句话说,如果您需要将一小段文本从某个打开的缓冲区快速复制到新位置,请将光标放在那里,然后执行Ctrl-mouse-select 即可。
不幸的是,我最近不得不从 XEmacs 切换到 GNU Emacs,我正在寻找那里是否有类似的功能,或者我可以为它提供一个自定义模块(不幸的是,我不擅长 Lisp)。
你当然可以,如果我没记错的话,该功能绑定到鼠标按钮 3。我假设是这样,因为单击鼠标滚轮会拉动我在光标处复制的内容。
在大多数情况下,鼠标滚轮 == 鼠标按钮 3。
编辑:
我在http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html找到了这个
鼠标 1
将点移动到您单击的位置(鼠标设置点)。
拖动鼠标 1
通过拖动激活所选文本周围的区域,并将其复制到杀伤环(mouse-set-region)。
鼠标 2
在单击位置拖动最后一个终止的文本(mouse-yank-at-click)。
鼠标 3
如果该区域处于活动状态,则将该区域的较近端移动到单击位置;否则,将标记设置为点的当前值,点位于点击位置。将生成的区域保存在杀伤环中;在第二次单击时,将其杀死(鼠标保存然后杀死)。
将以下内容放入您的 init 文件 ( .emacs
):
(require 'mouse-copy)
(global-set-key [C-down-mouse-1] 'mouse-drag-secondary-pasting)
重新启动 Emacs 后,它应该像您在 XEmacs 中习惯的那样工作——按住Ctrl
鼠标左键,选择您的文本,当您释放鼠标时,文本将插入到您当前的光标位置。
你可能想使用mouse-copy.el
Emacs 自带的。