在(neo)vim中不要将scrolloff = 5用于鼠标单击

时间:2019-04-06 18:24:58

标签: vim ide editor neovim

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用点击映射来禁用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的鼠标单击行为。