Como você classifica um intervalo de linhas por tamanho?
Muitas vezes eu só quero classificar todos os meus#include
no topo dos meus arquivos de fonte e cabeçalho pelo tamanho deles.
vim
permite-me classificar alfanumericamente de forma semelhante com:{range} sort u
.
Emvim
, como você classifica um intervalo de linhas pelo comprimento da linha? Tais linhas mais curtas são seguidas por linhas mais longas.
Pesquisando na internet, achei isso:
:% s/.*/\=printf("%03d", len(submatch(0)))."|".submatch(0)/ | sor n | %s/..../
Mas isso só funciona para classificar o arquivo inteiro, e é magia negra para mim de qualquer maneira. Estou tentando descobrir como fazer o mesmo tipo com um intervalo como da linha 4 a 18, como em:4,18 s/...
Você tem alguma ideia?