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

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

我想启用鼠标滚轮进行滚动,就像^e这样^y。但我并不想在缓冲区中单击来移动光标,所以这对:set mouse=a我没有帮助。

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

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

谢谢!

答案1

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

:nmap <LeftMouse> <nop>
:imap <LeftMouse> <nop>
:vmap <LeftMouse> <nop>

如果您还想忽略双击:

:nmap <2-LeftMouse> <nop>

看:

:help gui-mouse-mapping
:help map-overview

相关内容