我遇到的一个常见障碍是希望用替换词取代所有出现的词,而且替换它的替代词。我想在一个命令中执行此操作。例如:
原件:
Bananas? Ew, I don't like bananas.
Nifty regex:
:%s/Something/Clever/g
结果:
Grapes? Ew, I don't like grapes.
有没有办法以一种比以下命令更快的方式执行此替换?
:%s/Bananas/Grapes/g
:%s/bananas/grapes/g
答案 0 :(得分:2)
有几个插件允许这样做:
:%s/bananas/\=SmartCase("grapes")/ig
:%SmartCase/bananas/grapes/g
:%Subvert/{b,B}ananas/{g,G}rapes/g
答案 1 :(得分:1)
您还有来自keepcase.vim
的:SubstituteCase
:SubstituteCase#\ctoto\(Titi\)tata#\1Tutu#g
totoTitiTata -> titiTutu
TotoTitiTata -> TitiTutu
tototititata -> tititutu
tototitiTata -> titiTutu
TototitiTata -> TitiTutu
答案 2 :(得分:0)
如果设置了ignorecase:
:s/bananas/Grapres/|s//grapes
但这更像是一个技巧(//代表之前的搜索模式,即香蕉),而不是解决方案,我宁愿使用其他人建议的插件。