2015-01-21 132 views
0

有时我需要浏览新文件,而且我需要不断输入10j20j如何在vim中轻松地重复多行移动(num + j,k)?

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

我在网上搜了一下,但没有明显的解决方法。

有没有办法做到这一点?

+0

这里有一个vim脚本:https://github.com/vim-scripts/repmo.vim – eckes 2015-01-21 07:50:02

回答

3

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

此外,<C-e><C-y>(向下滚动及以上)可以采取数量,使得:

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

还有这个非常简单的方式来获得当前缓冲区的一个可操作的轮廓:

:g/func/# 

然后做:23跳转到相应的行。

1

您可以将其保存到注册表中。

  1. 类型q然后键入一个寄存器,比如说z
  2. 类型10j
  3. 类型q退出议案。

然后当你想要做10j下一次,简单型@z

+0

type @ require'shift + 2',另外,这仍然是2键击。 – Zen 2015-01-21 07:31:55

+0

对不起。我的错。我搜索了一下,找到了这个。 http://superuser.com/questions/429917/repeat-last-normal-mode-command-including-moves-in-vim – qqibrow 2015-01-21 07:40:08

+1

如果你使用宏,有'@@'重复执行最后一个宏。每当'n'是关键字时,它比'@ k'快。我觉得它非常有用! – Plouff 2015-01-21 07:46:45

相关问题