我可以计算vim中每一行的长度吗?

Can I calculate the length of each line in vim?

我在下面有一个文件。

My
first
name
is
Kim.

我想找到制作下面这个文件的方法(vim 插件、正则表达式或 vim 函数)。

My      2
first   5
name    4
is      2
Kim.    4

有什么方法可以计算vim中每一行的长度吗? 我不想通过 perl/ruby 脚本或脚本开发来实现。

一种方法:

:%s/\v(.*)\zs/\="\t".strlen(submatch(1))/

要了解这应该如何工作::help \v:help \zs:help s/\=:help strlen():help submatch()

根据您的用途,如果您使用宽字符,您可能需要将 strlen() 替换为 strwidth()strdisplaywidth()。他们可能更有意义 "line length".