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

Hye*_*Kim 2 linux vim vim-plugin

我在下面有一个文件。

My
first
name
is
Kim.
Run Code Online (Sandbox Code Playgroud)

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

My      2
first   5
name    4
is      2
Kim.    4
Run Code Online (Sandbox Code Playgroud)

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

lcd*_*047 7

一种方法:

:%s/\v(.*)\zs/\="\t".strlen(submatch(1))/
Run Code Online (Sandbox Code Playgroud)

要理解这是怎么应该工作::help \v:help \zs:help s/\=:help strlen(),和:help submatch()

根据您使用它的目的,如果您使用宽字符,您可能需要替换strlen()strwidth()strdisplaywidth()。它们作为“行长”可能更有意义。