Vim, strlen и «Мама мыла раму»

2010-02-07 13:04; Tags:

Несмотря на то, что внутреннее представление строк в виме — UTF-8, функция strlen результат выдает в байтах. И, чтобы подсчитать длину строки «Мама мыла раму», нужно вот такое злобное колдунство:

let str = "Мама мыла раму"
let len = strlen(substitute(str, ".", "x", "g"))

Тупо, каждый символ меняем на однобайтовый "x" (вот substitute замечательно работает с UTF-8) и только после этого считаем длину строки.

«Очень продуманно!»

Leave a Reply

Powered by WordPress