awl*_*wer 5 regex vim substitution
说我有如下文字.
那个男人在走路,男人正在吃饭.
我该如何使用替换将其转换为以下内容?
男人1走路,男人2正在吃饭.
我知道我可以:%s/\<man\>//gn用来计算单词的出现次数,man我知道/\%(\(pattern\).\{-}\)\{n - 1}\zs\1可以找到第n次出现的模式.但是我如何标记第n次出现?
任何帮助都是真诚的感谢; 提前致谢.
你需要有一个非纯函数来计算出现次数,并使用该函数的结果.
" untested
let s:count = 0
function! Count()
let s:count += 1
return s:count
endfunction
:%s/man\zs/\=' '.Count()/
Run Code Online (Sandbox Code Playgroud)