【发布时间】:2019-04-06 18:24:57
【问题描述】:
我将 (neo)vim 与 mouse=a 和 scrolloff=5 一起使用。用鼠标单击顶部或底部五行之一会导致屏幕跳转(使新的光标位置更加居中),这让我分心。有没有什么办法可以禁用“so=5”只允许鼠标点击?
我在 linux 上的不同终端模拟器中使用 (neo)vim。
【问题讨论】:
我将 (neo)vim 与 mouse=a 和 scrolloff=5 一起使用。用鼠标单击顶部或底部五行之一会导致屏幕跳转(使新的光标位置更加居中),这让我分心。有没有什么办法可以禁用“so=5”只允许鼠标点击?
我在 linux 上的不同终端模拟器中使用 (neo)vim。
【问题讨论】:
您可以使用点击映射禁用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 在鼠标单击时的行为。
【讨论】:
scrolloff?