获取当前行的长度

Ben*_*man 3 vim

我试图在状态行中为行的总长度添加一个指示器(不仅仅是光标列位置,可以用来显示%c)。我该怎么做呢?

Ben*_*man 5

要将行的内容作为字符串获取,请使用getline(<line number>)。要以字符串形式获取当前行的内容,可以使用getline(".")。要获取字符串的长度,可以使用strlen(<string>)

放在一起,我们得到strlen(getline("."))。要将其添加到您的状态行,只需:

statusline += "%{strwidth(getline('.'))}"
Run Code Online (Sandbox Code Playgroud)

或vim-airline(我用的是什么)

" can be any section; this is for section z
let g:ariline_section_z = "%{strlen(getline('.'))}"
Run Code Online (Sandbox Code Playgroud)

  • 当心,计数字节应为strlen,而不是实际的字符数。您将使用诸如strwidth之类的函数来获取行的实际长度。 (2认同)