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 脚本或脚本开发来实现这一点。
一种方法:
:%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()
。它们作为“行长”可能更有意义。