【发布时间】:2012-04-25 03:51:13
【问题描述】:
我经常发现自己反引号:
从双引号 "" 到单引号 '' 和
从单引号 '' 到双引号 @987654324 @。
我知道有一种方法可以将单引号切换为双引号::%s/'\(\([^']*\)\)'/"\1"/g
还有一种将双引号切换为单引号的方法::%s/"\(\([^"]*\)\)"/'\1'/g
但我如何一起进行这两项操作,而不在第二次交换中包含第一个交换的引号?
【问题讨论】:
-
在单个命令中使用哈希映射替换多个单词:%s/\/\={'foo':'bar' ,'bar':'baz','baz':'foo'}[submatch(0)]/gc .. 这里 foo -> bar, bar -> baz, baz -> foo.