运行上一个命令并进行多次替换

运行上一个命令并进行多次替换

你们中的许多人可能知道命令^foo^bar^!:gs/foo/bar对于运行前一个命令非常有用,只需将模式“foo”替换为模式“bar”即可。

但是有没有一种方法可以替换上一个命令中的多个模式,例如替换ls *.jpg | grep photo单词“jpg”和“photo”而无需太复杂的模式匹配,例如!:gs/jpg\(.*\)photo/png\1foto

答案1

你可以这样做:

!!:s/jpg/png/:s/photo/picture/

答案2

它并不比重新输入示例命令短,但您可以从另一个方向输入它并仅回忆您想要的部分(此处ls| grep,然后输入替换内容:

$ ls *.jpg | grep photo
$ !:0 *.png !:2-3 picture

结果是:

ls *.png | grep 图片

相关内容