在Vim中用匹配某个正则表达式的字符串替换为其长度

6
在Vim中,我如何用一定的正则表达式替换匹配到的字符串为其长度,就像这样:

正则表达式 = "\w*"

"hello" -> "5"
"bye" -> "3"

能否使用:s命令实现,还是需要编写一些脚本?

最好的问候

1个回答

12

用你的正则表达式替换掉 'hello',这应该可以在 VIM 中工作:

:s/hello/\=strlen(submatch(0))/ 

谢谢,我之前不知道 = 这个符号。 - Thanh DK
我不得不使用grep命令来查找文档,以弄清楚这是什么意思::h sub-replace-expression - Bryce Guinta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接