我有一个看起来像多行的文件
RUS.LEN.8 "0612" "1212" "0605" "0606" "0000" "2121" "0401" "1211" "0000" "0707" "0000" "0000" "1111" "0303" "0303" "0102" "0133" "0602" "0000" "0404" "1212" "1111" "0000" "0101" "0000" "0909" "0103" "1010" "1515" "0000"
Run Code Online (Sandbox Code Playgroud)
我想使用 VIM 在每 4 个数字块的中间放置一个 / 。知道怎么做吗?
要0612变成06/12,分别捕获第一个和最后两个数字,然后在替换/中将它们重新组合,中间有一个。使用:substitute'sg标志,这将应用于一行的所有匹配项。有了:%范围,该命令将应用于缓冲区中的每一行。
:%substitute#\(\d\d\)\(\d\d\)#\1/\2#g
Run Code Online (Sandbox Code Playgroud)
/,它也在您的替换中按字面使用。可以避免使用 ( \/),但更易读的技巧是使用不同的分隔符(此处为 : #)。\(...\)) 由其在替换中的编号引用:\1,\2依此类推。见:help s/\1。:help :s。