【问题标题】:How to make vim detect <C-LeftMouse> with konsole terminal?如何使 vim 使用 konsole 终端检测 <C-LeftMouse>?
【发布时间】:2020-08-17 13:47:52
【问题描述】:

使用 gvim,我可以映射 &lt;C-LeftMouse&gt;,但我不能使用在终端模拟器中运行的 vim(在我的例子中是 konsole)。

我有理由认为这是因为序列 Ctrl + CLICK 未发送/检测到:

在插入模式下,键入 Ctrl + V, Ctrl + CLICK 用 gvim 打印 "",但是仅带有 konsole 的 ""。

如何让 vim / neovim 识别这个(有用的)组合?

编辑请注意,我已经在 vim 中 set mouse=a

【问题讨论】:

    标签: vim neovim konsole


    【解决方案1】:

    您必须在终端中启用鼠标:

    set mouse=a
    
    map <C-LeftMouse> :echo 'Hello Left'<CR>
    map <C-RightMouse> :echo 'Hello Right'<CR>
    

    :help mouse

    【讨论】:

    • 我忘记精确了 mouse 已经设置为 a...
    • @hl037_ 哎呀,对不起,我以为你错过了那一步。你能显示出不工作的确切映射吗?您是否尝试过像答案中那样简单的“hello world”?你可以尝试运行vim --clean(它不会读取vimrc)然后输入:set mouse=a 和映射吗?最后,可能是您的终端仿真器使用了该组合,并在它到达 vim 之前被拦截。您可以尝试使用另一个涉及鼠标但不涉及 Ctrl 的映射,例如 map &lt;LeftMouse&gt; :echo 'Hello LeftMouse'&lt;CR&gt;
    • 我认为这不是 vim 问题,而是 Konsole 问题:在插入模式下,当我点击 时,只打印“”(在 gvim 中,当我也这样做, 打印正确)。
    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2010-09-20
    • 2015-10-02
    • 2018-04-09
    相关资源
    最近更新 更多