Как вы сортируете диапазон строк по длине?

Часто я просто хочу отсортировать все свои#includeв верхней части моего исходного файла и заголовочных файлов по их длине.

vim позволяет мне сортировать алфавитно-цифровую аналогичным образом с:{range} sort u.

ВvimКак вы сортируете диапазон строк по длине линии? Так, что за более короткими линиями следуют более длинные линии.

Ища в интернете, я нашел это:

:% s/.*/\=printf("%03d", len(submatch(0)))."|".submatch(0)/ | sor n | %s/..../

Но это работает только для сортировки всего файла, и в любом случае для меня это черная магия. Я пытаюсь выяснить, как выполнить такую же сортировку в диапазоне от 4 до 18, как в:4,18 s/... Есть ли у вас какие-либо идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос