我将{neo} vim与mouse=a
和scrolloff=5
一起使用。用鼠标单击顶部或底部的五行之一会导致屏幕跳动(以使新光标位置更居中),这使我分心。有什么方法可以仅通过鼠标单击禁用“ so=5
”吗?
我在Linux上的不同终端仿真器中使用(neo)vim。
答案 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
的鼠标单击行为。