2015-07-17 5 views
1

У меня есть файл ниже.Могу ли я рассчитать длину каждой строки в vim?

My 
first 
name 
is 
Kim. 

И я хочу найти путь (VIM плагин, регулярное выражение или функцию VIM), которые делают этот файл ниже.

My  2 
first 5 
name 4 
is  2 
Kim. 4 

Есть ли способ рассчитать длину каждой строки в vim? Я не хочу этого делать с помощью скрипта perl/ruby ​​или разработки скриптов.

ответ

4

Один из способов сделать это:

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

Чтобы понять, как это должно работать: :help \v, :help \zs, :help s/\=, :help strlen() и :help submatch().

В зависимости от того, для чего вы используете это, если вы работаете с широкими символами, вам может потребоваться заменить strlen() на strwidth() или strdisplaywidth(). Они могут иметь большее значение как «длина линии».

Смежные вопросы