如何在Vim中重复诸如更改制表符“gt”之类的命令,而无需反复键入?
当我想更改选项卡时,我按如何在Vim中重复诸如更改制表符“gt”之类的命令,而无需反复键入?,vim,Vim,当我想更改选项卡时,我按gt进入下一个选项卡 然而,我有几个这样的标签,它变得非常奇怪 而gt只是一个例子,在其他情况下,有些东西 只需按一个键就可以重复一个人的命令,或者按住一个键而不是按两个或多个键就可以了 知道在Vim里怎么做吗 如何重复命令 通常,您可以在Vim命令之前使用,以将其重复一定次数。例如,您可以使用5j向下五行,使用4w转到下一个单词的第四行,使用3dd删除三行 尽管计数通常作为重复使用,但情况并非总是如此,gt命令是一个例外示例,其中使用计数会使Vim转到第n个选项卡,因此
gt
进入下一个选项卡
然而,我有几个这样的标签,它变得非常奇怪
而gt
只是一个例子,在其他情况下,有些东西
只需按一个键就可以重复一个人的命令,或者按住一个键而不是按两个或多个键就可以了
知道在Vim里怎么做吗
如何重复命令
通常,您可以在Vim命令之前使用,以将其重复一定次数。例如,您可以使用5j
向下五行,使用4w
转到下一个单词的第四行,使用3dd
删除三行
尽管计数通常作为重复使用,但情况并非总是如此,gt
命令是一个例外示例,其中使用计数会使Vim转到第n个选项卡,因此3gt
不会跳过选项卡,而是转到第三个选项卡。(但对于gT
而言,计数用作重复,因此3gT
将转到前三个选项卡。)
只需按一个键就可以重复命令
对于修改缓冲区的正常模式命令,您通常可以使用
命令重复最后一个命令,这样就有资格按单个键。您还可以将计数与
一起使用,例如,您可以使用5.
将该修改重复五次
但是,gt
的情况并非如此,因为它不是更改当前缓冲区的命令
你可以,在这种情况下,你可以用同一个键重复两次
例如,您可以键入qtgtq
将“下一个选项卡”命令记录到寄存器“t”中,然后键入@t
重复该命令一次,然后键入@
下次重复该命令(@
将执行上次使用的宏)。因此,假设您发现按@
比按gt
更方便,这是可能的
最后,如果您真正想要的是能够使用一次按键来更改选项卡,那么您可以继续快速按以更快地在选项卡之间循环,然后您需要的是映射,以创建新的键绑定
例如,如果要使用Control-T更改选项卡,请使用以下命令:
:nnoremap <c-t> gt
:nnoremap gt
这将允许您通过按Control-T切换到下一个选项卡。您可以在反复按“T”的同时轻松地按住Control键(甚至可以从键盘驱动程序中按住以重复)
请注意,您可能会选择一个为另一个函数服务的键(Control-T跳回标记堆栈),因此您可能需要考虑这一点