Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 维姆:。(句点)重复最后一个命令。重复最后一个命令的命令是什么?_Vim - Fatal编程技术网

Vim 维姆:。(句点)重复最后一个命令。重复最后一个命令的命令是什么?

Vim 维姆:。(句点)重复最后一个命令。重复最后一个命令的命令是什么?,vim,Vim,Vim:重复最后一个命令。重复最后一个命令的命令是什么 例: 我使用命令dd删除了一行,然后使用命令x删除了一个字符 x是最后一个命令,dd是最后一个命令 最后一个命令x可以使用 但是,我想用类似于的简短回答重复dd:Vim没有这种本机特性 但是,以下建议应该可以帮助您从Vim中获得更多信息: 对于您的特定示例,您可以使用:dEx(命令行)delete命令,而不是键入dd来删除该行。以后可以使用@:重复此操作,而不影响命令 如果使用dd执行比删除行更复杂的操作,可以使用q{registerna

Vim:
重复最后一个命令。重复最后一个命令的命令是什么

例:

我使用命令
dd
删除了一行,然后使用命令
x
删除了一个字符

x
是最后一个命令,
dd
是最后一个命令

最后一个命令
x
可以使用

但是,我想用类似于
的简短回答重复
dd
:Vim没有这种本机特性

但是,以下建议应该可以帮助您从Vim中获得更多信息:

  • 对于您的特定示例,您可以使用
    :d
    Ex(命令行)delete命令,而不是键入
    dd
    来删除该行。以后可以使用
    @:
    重复此操作,而不影响
    命令

  • 如果使用
    dd
    执行比删除行更复杂的操作,可以使用
    q{registername}
    将其记录为宏(其中
    {registername}
    表示
    a
    -
    z
    范围内任何未使用的非特殊寄存器名,例如
    qa
    )。使用
    @{registername}
    (例如
    @a
    )执行宏后,只需运行
    @
    即可重复执行

  • 如果您想了解更多有关重复命令的其他方法的信息,我建议您阅读Vim内置手册中的
    repeat.txt

    :h repeat.txt
    
    此文件列出了重复命令的其他方式,例如使用Ex命令和录制/执行宏

重复替换命令
可以使用
:s
:&
重复最近的
:substitute
命令。这使用相同的搜索模式和替换字符串,但不使用相同的标志或范围(必须提供它们)。这个repeat命令的一个更短的同义词是
&
。有关详细信息,请参见
:帮助:替换

请举个例子。@Kent:你知道的例子?(我很想回答你的问题,而不是给你一个链接,但我不知道有这样的功能。)@DevSolar:我不知道那个网站。谢谢。@SagarJain正确。我打算
{registername}
表示从
a
z
的任何有效寄存器名。我将编辑我的答案以使其更清楚。@SagarJain我编辑我的答案是为了添加一个关于重复替换命令的额外部分。