Vim, strlen и «Мама мыла раму»
Несмотря на то, что внутреннее представление строк в виме — UTF-8, функция strlen результат выдает в байтах. И, чтобы подсчитать длину строки «Мама мыла раму», нужно вот такое злобное колдунство:
let str = "Мама мыла раму" let len = strlen(substitute(str, ".", "x", "g"))
Тупо, каждый символ меняем на однобайтовый "x" (вот substitute замечательно работает с UTF-8) и только после этого считаем длину строки.
«Очень продуманно!»
