如何在Vim中重复替换命令?

Wha*_*awg 22 vim history repeat substitution

在Unix中,^允许您重复一个命令,其中一些文本替换为新文本.例如:

csh% grep "stuff" file1 >> Results
grep "stuff" file1
csh% ^file1^file2^
grep "stuff" file2
csh%
Run Code Online (Sandbox Code Playgroud)

是否有Vim等价物?很多时候,我发现自己在命令行上一遍又一遍地编辑小事.

Lea*_*ile 57

特别是对于替换:用于&从正常模式重复当前行的最后一次替换.

  • 要在所有行上重复先前的替换并进行确认,您可以执行 `:%&c` (2认同)

ram*_*ion 10

q:进入命令行窗口(:help cmdwin).

您可以在此窗口中编辑和重复使用先前输入的ex-style命令.


ruo*_*ola 8

要在具有所有相同标志的所有行上重复前面的替换,您可以使用映射g&


pal*_*rse 6

有两种方法.

  1. 您只需按下.键即可执行最后一个命令(移动除外)的精确重放.例如,我键入cw然后hello将单词更改为"hello".将光标移动到另一个单词后,我.再次点击它.
  2. 对于更高级的命令,例如替换,在执行了替换后,只需按下:键然后按向上箭头键,它就会用相同的命令填充命令行.


dkr*_*etz 6

按下后:,您可以输入几个字符并使用向上箭头,它将与您输入的字符匹配。例如键入:set,它将通过您的“设置”返回。这也适用于搜索-只需键入/和向上箭头即可。并且/abc向上箭头将按时间顺序为您提供匹配的搜索字符串。