Jak sortować zakres linii według długości?

Często po prostu chcę posortować wszystkie moje#includejest na górze moich plików źródłowych i nagłówkowych według ich długości.

vim pozwala mi sortować alfanumerycznie w podobny sposób:{range} sort u.

Wvim, jak sortować zakres linii według długości linii? Tak, że za krótszymi liniami następują dłuższe linie.

Przeszukując internet, znalazłem to:

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

Ale to działa tylko w celu posortowania całego pliku i i tak jest dla mnie czarną magią. Próbuję dowiedzieć się, jak zrobić ten sam rodzaj z zakresem takim jak od linii 4 do 18, jak w:4,18 s/... Czy masz jakies pomysły?

questionAnswers(3)

yourAnswerToTheQuestion