你们中的许多人可能知道命令^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 图片