【问题标题】:How do I remap control-shift-leftmouse in gvim?如何在 vim 中重新映射 ctrl-shift-left 鼠标?
【发布时间】:2012-04-14 05:03:17
【问题描述】:

我想在 gvim(以及 MacVim)中重新映射修改后的点击,但某些修饰符组合有效,而另一些则无效。在 Linux 机器上的 gvim 中,我想在我输入的任何地方插入“hello”:

:noremap <C-S-LeftMouse> <LeftMouse>ihello<ESC>

但是,该命令不起作用:control-shift-click 保留其原始行为。但是我可以在 gvim 中重新映射 control-click:

:noremap <C-LeftMouse> <LeftMouse>ihello<ESC>

在 MacVim 中,command-shift-click &lt;D-S-LeftMouse&gt; 与大多数其他修改过的点击一样,同样没有响应。

我如何才能真正重新映射修改后的鼠标点击?

【问题讨论】:

  • Name-twin :) 不错。我不知道,但我可以确认你在 linux 上的发现

标签: vim mapping macvim


【解决方案1】:

要在 MacVim 中重新映射 &lt;C-LeftMouse&gt;,您应该首先禁用上下文菜单:

defaults write org.vim.MacVim MMTranslateCtrlClick 0

【讨论】:

    【解决方案2】:

    双修饰键在 MacVim 中不起作用。这是一个已知的限制/错误。

    :nnoremap <M-LeftMouse> <LeftMouse>ihello<Esc>
    

    似乎可以工作,但&lt;C-LeftMouse&gt;&lt;D-LeftMouse&gt; 都没有。

    &lt;C-LeftMouse&gt; 带来了每个人都期望的正常上下文菜单,我不会指望它会轻易改变。

    &lt;D-LeftMouse&gt; 什么都不做。我想知道它是否已经注册了。

    【讨论】:

    • 啊,唉。 macvim 文档中没有提到&lt;D-{Mouse}&gt; 事件;仅修改过的键。
    • 我猜“它不能完成”是一个合法的答案(接受)。 MacVim 作者还确认 没有实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多