vim正则表达式批量修改文本
需求
国家区号和地区的txt文本,转成ios上使用的plist文件
例子
test.txt
+93:Afghanistan
+355:Albania
将其修改为
<dict>
<key>country</key>
<string>Afghanistan</string>
<key>code</key>
<string>+93</string>
</dict>
<dict>
<key>country</key>
<string>Albania</string>
<key>code</key>
<string>+355</string>
</dict>
vim命令
:%s/\(+[0-9]\+\):\(.*\)/<dict>\r\t<key>\2<\/key>\r\t<string>\1<\/string>\r<\/dict>/g
含义
%s: 表示在所有行中搜索替换
/from/to/: 3个斜杠中包含从from替换到to的正则表达式
g: 表示不询问,整行替换