在网页上正常滚动时,光标会在屏幕上的同一位置,而屏幕会平滑地上下移动。我想在vim中复制该功能。 Ctrl - Y 和 Ctrl - E 可移动屏幕,但光标不会停留在屏幕上的同一位置,它停留在同一行。
到目前为止,唯一接近的是 Ctrl - U 和 Ctrl - D ,但是这将滚动滚动屏幕的一半值。这将无法平滑滚动。
有内置命令吗?
答案后添加了解决方案: 不,没有默认的方法。但是有这些方便的映射:
request.POST.getlist('phone_number[]')
和
nnoremap <C-K> k<C-Y>
答案 0 :(得分:0)
'scroll'
选项确定 Ctrl-U 和 Ctrl-D 滚动的行数。 0
的默认值为“半屏”;但是如果你
:set scr=1
然后这些命令只会将您移动一行。 (您可以使用:set scr=0
恢复为默认值。)
请注意,'scroll'
选项是通过为 Ctrl-U 或 Ctrl-D 加上前缀来自动设置的。即如果您执行 1 Ctrl-D ,则每隔 Ctrl-U 或 Ctrl-D 只会移动一个行,直到重置'scroll'
。
另一种可能性是'scrolloff'
,它确定窗口中光标上方和下方的最小行数。将其设置为荒谬的数字可确保您的光标始终位于屏幕中央。也就是说,
:set so=999
实际上会将j
和k
转换为您想要的内容。
最后,如果您不喜欢这两种方法的副作用,那么像克里斯蒂安·吉本斯(Christian Gibbons)这样的绑定建议注释中的另一种方法。
答案 1 :(得分:0)
由于没有默认方法,我选择使用
nnoremap <C-K> k<C-Y>
和
nnoremap <C-J> j<C-E>