Vim搜索并替换以修改具有通用结构但单词不同的字符串

时间:2018-07-13 17:36:51

标签: vim vi

我对Vim还是陌生的,因此在此站点上找不到如何搜索和替换字符串的不同部分的方法。我需要对所有出现的“ func parser(_ parser: XMLParser, foundCharacters string: String) { let foundedChar = string.trimmingCharacters(in: NSCharacterSet.whitespacesAndNewlines) switch eName { case "name": vName += foundedChar case "Wert": vWert += foundedChar case "Status": vStatus += foundedChar case "Symbol": vSymbol += foundedChar default: break } } ”进行全局编辑,其中SetTag("...")任何字。我的修改是在第二引号后 处再添加一个单词。例如:SetTag(“ err” + __LINE __ ,加粗的部分是我需要添加的内容。有人可以通过vim搜索命令告诉我这是怎么可能的吗?谢谢!

1 个答案:

答案 0 :(得分:1)

nb:我认为“单词”是除双引号字符之外的任何字符序列。根据需要进行修改。

:%s/SetTag("\([^"]*\)")/SetTag("\1" + __LINE__)/

转义的括号抓住子匹配项;替换字符串中的\ 1被该子匹配替换。