Vim 仅启用鼠标滚动 - 不启用光标定位

Mat*_*hew 7 vim xterm

我想启用鼠标滚轮滚动喜欢^e^y做。我不想点击缓冲区来移动光标,所以:set mouse=a对我没有帮助。

原因是我打开了一堆 gui 窗口(Web 浏览器、聊天等)并单击以聚焦 vim,但是如果我在缓冲区内单击它会将光标移动到我单击的位置。我也喜欢使用鼠标滚轮进行滚动,因为我发现它比^eand更快^y,并且更容易跟踪我在哪里^d^u<pgdn><pgup>

有没有办法启用鼠标支持滚动,但在单击时禁用光标位置更改?

谢谢!

Hep*_*ite 6

您可以通过将鼠标按钮映射到 来选择性地禁用它们<nop>。例如,要禁用鼠标左键:

\n\n
:nmap <LeftMouse> <nop>\n:imap <LeftMouse> <nop>\n:vmap <LeftMouse> <nop>\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您还想忽略双击:

\n\n
:nmap <2-LeftMouse> <nop>\n\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n

看:

\n\n
:help gui-mouse-mapping\n:help map-overview\n
Run Code Online (Sandbox Code Playgroud)\n

  • 太棒了,正是我正在寻找的。它仍然可以允许窗口/选项卡选择(不改变光标位置)吗? (2认同)