vi / vim 窗口内的突然缓冲移动

use*_*001 11 linux unix vim vi

:set wrap在 vi/vim 中使用时,即使在按显示行 (gj/gk) 而不是实际行 (j /k)。例如,如果一行被超过 5 行,并且当前在显示缓冲区之外,则在导航到该行时缓冲区将跳转 5 行以强制整行适合屏幕。有没有办法禁用这种行为?请注意,set display+=lastline当通过导航离开该行迫使环绕的行离开屏幕时,将允许显示部分行,但这并不能解决导航到最初位于缓冲区之外的行时发生的缓冲区跳转。

澄清:如果上述描述含糊不清,要点是我希望能够在启用换行的情况下在 vim 中平滑滚动,这样行将部分显示在屏幕外,而不是强制全部显示。

小智 0

gk在正常模式下,您可以使用and gj(g<up>或)在换行的显示部分之间跳转g<down>此 vim 维基页面解释了如何永久更改行为。