【问题标题】:Pasting with mouse-select in GNU Emacs在 GNU Emacs 中使用鼠标选择粘贴
【发布时间】:2012-03-27 17:08:49
【问题描述】:

XEmacs 中有一个功能,如果用户在按住 Ctrl 的同时用鼠标选择一个区域,所选区域将自动粘贴到当前光标位置。

换句话说,如果您需要从某个打开的缓冲区快速复制一小段文本到一个新位置,请将光标放在那里,然后执行 Ctrl-mouse-select 和它有效。

不幸的是,我最近不得不从 XEmacs 切换到 GNU Emacs,我正在寻找那里是否有类似的功能,或者我可以为它提供一个自定义模块(不幸的是,我不擅长 Lisp) .

【问题讨论】:

    标签: emacs xemacs


    【解决方案1】:

    当然可以,如果我没记错的话,该功能绑定到鼠标按钮 3。 我假设是这样,因为单击鼠标滚轮会拉动我在光标处复制的内容。

    在大多数情况下,鼠标滚轮 == 鼠标按钮 3。

    1. 用鼠标选择
    2. 按住鼠标按钮,点击控制
    3. 松开鼠标键
    4. 点击鼠标键 3
    5. 利润 - 选择在您的光标处猛拉

    编辑:

    我在http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html找到了这个

    • 鼠标 1

      将点移动到您单击的位置(鼠标设置点)。

    • 鼠标拖拽1

      通过拖动激活所选文本周围的区域,然后复制它 到杀戮环(mouse-set-region)。

    • 鼠标 2

      在点击位置拉出最后一个被杀死的文本(mouse-yank-at-click)。

    • 鼠标 3

      如果区域处于活动状态,则将区域的近端移动到点击位置;否则,将标记设置为点的当前值,点位于点击位置。将生成的区域保存在杀伤环中;在第二次单击时,将其杀死(鼠标保存然后杀死)。

    【讨论】:

    • 对我没有影响。看来我的 button3 可以用作滚动条,但我根本无法使其用作粘贴。此外,我为 XEmacs 描述的关键机制完全不同(而且看起来更方便):Ctrl+鼠标选择。只是确保我写的内容没有被误解......
    • 这意味着你不能点击滚动条?我拥有滚动条的所有鼠标都可以单击以及前后滚动。
    • 当我在我的工作场所时,单击滚动条就像粘贴一样,但是您的指令会在鼠标按钮的位置产生新的文本单击 3 (如果没有对Ctrl 键 - 只需用鼠标选择,然后使用 mouse-3 粘贴)。当我在家时,我的鼠标滚轮滚动正常,但是当我单击它时,它根本不能用作粘贴。不确定是否可以对此做些什么,会发现,但我能做些什么来至少解决我工作场所的情况(滚动点击注册为粘贴)?谢谢。
    【解决方案2】:

    将以下内容放入您的初始化文件 (.emacs):

    (require 'mouse-copy)
    (global-set-key [C-down-mouse-1] 'mouse-drag-secondary-pasting)
    

    一旦你重新启动 Emacs,它应该像你在 XEmacs 中习惯的那样工作——按住Ctrl 和鼠标左键,选择你的文本,当你松开鼠标时,文本将被插入到你的当前光标位置。

    【讨论】:

    • @Stefan 也推荐了 mouse-copy,但是当我试图在 Emacs 中找到它时,我找不到任何关于它的信息(我得到一个“找不到库鼠标副本”),并且我的发行版中有字节编译的源代码;我终于想出了如何在这里使用它:opensource.apple.com/source/emacs/emacs-51/emacs/lisp/…
    【解决方案3】:

    您可能想要使用 Emacs 附带的 mouse-copy.el

    【讨论】:

    • 对不起,我对 Emacs 不太了解——我该如何使用它?
    • @gt6989b:我建议你先做M-x find-library RET mouse-copy RET,然后阅读;;; Commentary:之后的文字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多