すみませんが質問させてください。
香り屋のgVimを使っているのですが、sort等の外部コマンドが無い状況でVimだけで以下のようなことがえきるかおしえてください。
もしできるのであれば、やり方も教えていただけるとありがたいです。

--------------------------------------------------------------
..hoge1 {
hoge- hoge
geho- geho
}
..hoge2 {
hoge- hoge
geho- geho
}
--------------------------------------------------------------
上記のようなテキストがあるとします。
そのテキストの中の{}に囲まれた行をソートしたいです。 {}で囲まれた部分は複数行あり、
{}はファイルの中にいくつもあり、その中を全てソートしたいです。 また、{}の前の「..hoge1, ..hoge2」もソートしたいです。
その際には、..hoge1等についている{}の中身はそのhoge..1と一緒に移動させたいです。

もう一つ質問なのですが、
.hoge1
.hoge2
.hoge3
等とある文字列の後に数値をつけて、その数値を大きくしていき指定行数挿入したいのですが方法はありますででしょうか?
数値だけでもカウントアップできれば、後で数値の前に文字列をつければいいと思うので、上記ができない場合は
数値だけでもできる方法を教えていただけるとありがたいです。
どうかよろしくおねがいします