Vim/NeoVim でビジュアルモードで簡単にインデントを行えるようにする

ビジュアルモードで複数行を選択してインデントするには、>><< を使いますが、このコマンドを入力すると、ビジュアルモードを抜けてしまうので、連続してインデントを行いたい場合にちょっと面倒です(何回インデントすればよいか分かっていれば 3>> のように回数を指定することはできますが…)。

下記のような設定を入れておくと、ビジュアルモード中のインデントを、> あるいは < だけで行うことができるようになります。 さらに、このコマンドを入力した後も、ビジュアルモードを抜けずにキープしてくれるので、行選択したまま連続してインデントを行うことができます。

" Reselect visual block after indent/outdent
vnoremap < <gv
vnoremap > >gv

同様に、選択範囲の自動インデントを行う = コマンド にも適用できます。

" Stay visual mode after formatting code
vnoremap = =gv

参考