如何在 vim 中轻松重复多行移动 ( num + j,k)?

How to repeat multi-line movement ( num + j,k) easily in vim?

有时我需要浏览一个新文件,我需要不断地键入 10j20j

我想知道是否有快捷方式或某种配置允许我只按一个键来重复上一个动作。

我在网上简单搜索了一下,还没有明显的解决办法。

有什么办法吗?

您可以将其保存到寄存器中。

  1. 键入 q 然后键入一个寄存器,比方说 z.
  2. 输入10j
  3. 键入 q 退出运动。

然后当你下次想10j时,简单输入@z

您可以使用 <C-d><C-u> 上下滚动半屏。

此外,<C-e><C-y>(向下和向上滚动)可以进行计数,因此:

nnoremap <key>      10<C-e>
nnoremap <otherkey> 10<C-y>

还有一个非常简单的方法来获取当前缓冲区的可操作大纲:

:g/func/#

然后:23跳转到相应行