首页 > 解决方案 > 不要在 (neo)vim 中使用 scrolloff=5 进行鼠标点击

问题描述

我将 (neo)vim 与mouse=aand一起使用scrolloff=5。用鼠标单击顶部或底部五行之一会导致屏幕跳跃(使新的光标位置更加居中),这让我分心。有什么方法可以禁用“ so=5”仅用于单击鼠标?

我在 Linux 上的不同终端仿真器中使用 (neo)vim。

标签: vimideeditorneovim

解决方案


scrolloff您可以使用单击映射禁用该值,请参阅:help <LeftMouse>但是,您必须在之后重新启用滚动设置,因为重新启用映射中的设置会再次导致视图向上/向下跳转。

这将禁用scrolloff设置并且视图将保持不变:

nnoremap <LeftMouse> :let &so=0<cr><LeftMouse>

使用上述方法,视图不会跳转,但您必须重新启用so

我们可以在同一个映射中重新启用它,但这意味着,您将看到与so设置后立即应用的视图相同的行为。

nnoremap <LeftMouse> :let temp=&so<cr>:let &so=0<cr><LeftMouse>:let &so=temp<cr>

因此,对于您想要的东西没有理想的解决方案(至少我知道)。您可以so完全禁用并使用类似的东西zz或习惯so鼠标点击的行为。


推荐阅读