Sim, você pode fazer isso no vim:
:%s/$/$/
:g/^\w/s/^/\r/
:1del t | $put t
:g/^\w/,/^$/-1join!
:sort
:%s/\$/\r/g
:g/^$/d
saída
Albatross
some text or other
perhaps a list that needs no sorting:
1. a
2. bee
Crab
some text that doesn't need sorting.
more textual descriptination
Dolphin
Pterodactyl
long story about this particular animal.
Você deve usar um caractere especial para indicar EOL (diferente de $
)!