Vimで、複数の行を別の場所へ移動後、インデントを修正する方法


コーディング中にいつも迷う操作なのですが、  
ある複数の行を別の場所に移動した後にインデントを修正したい場合に、  
効率のよい方法はありますでしょうか。

**Before**

[code]

    aaaaaaaaaaaaaa
    aaaaaaaaaaaaaa
    aaaaaaaaaaaaaa
    {
        bbbbbbbbbbbbbb
        bbbbbbbbbbbbbb
        cccccccccccccc
        cccccccccccccc
        cccccccccccccc
        bbbbbbbbbbbbbb
    }
    
[/code]

**After**

[code]

    aaaaaaaaaaaaaa
    aaaaaaaaaaaaaa
    aaaaaaaaaaaaaa
    cccccccccccccc
    cccccccccccccc
    cccccccccccccc
    {
        bbbbbbbbbbbbbb
        bbbbbbbbbbbbbb
        bbbbbbbbbbbbbb
    }
    
[/code]

**工夫なしの手順**

移動元のcccの3行をビジュアル行モードで選択してカットし、  
移動先にプットして、  
プットした3行を再び選択し直してインデントを修正する。

* * *

思いついたのは、最初にビジュアル行モードで選択する操作をマクロに記録し、  
プット後に選択する操作をマクロでやらせる、  
という方法です。

ただ、インデントを修正しないといけないと気付くのは大抵はプット後なので、  
事前にマクロに記録するというのは無理があるかなと思います。  
よい方法があればお教えください。




前後の文脈とインデントを合わせたいということなら、一旦アンドゥして`]``p`で貼り付けるというのはどうでしょうか？




前後の文脈とインデントを合わせたいということなら、一旦アンドゥして`]``p`で貼り付けるというのはどうでしょうか？

