É relativamente simples (e, acredito, próximo do que Jason tinha em mente):
-
Transforme todas as suas funções em uma única linha, substituindo todas as novas linhas com algum caractere sofisticado:
:g/def/,/end/s/\n/§
-
ordene aqueles forros com:
:%sort
-
expanda todas as suas funções para o estado inicial:
:g/def/s/§/\r