Often I just want to sort all my #include
's at the top of my source and header files by their length.
vim
allows me to sort alphanumerically in a similar manner with :{range} sort u
.
In vim
, how do you sort a range of lines by the length of the line? Such that shorter lines are followed by longer lines.
Searching the internet, I found this:
:% s/.*/\=printf("%03d", len(submatch(0)))."|".submatch(0)/ | sor n | %s/..../
But that only works to sort the entire file, and is black magic to me anyway. I'm trying to figure out how to do that same sort with a range such as from line 4 to 18, as in :4,18 s/...
Do you have any ideas?