📝

Vimで中括弧を展開した時にインデントを付け足す設定

2021/12/14に公開

自分は vim で"{"を入力した時に"{}"と置き換わるよう設定しています。
開発中、中括弧の展開時一行上に行を挿入し、タブインデントを加えるという操作が手間だったので少し効率化したいなと思い作りました。
参考にさせていただいた記事通りに実装したところ、カーソル位置が行末に来なかったのが自分に合わなかったので少し改造しました。

方法

Vim の設定ファイル .vimrc にこれを追記してください。
もし .vimrc がなければ、ホームディレクトリ直下に作成して編集してください。

.vimrc
function! AddIndentWhenEnter()
    if getline(".")[col(".")-1] == "}" && getline(".")[col(".")-2] == "{"
        return "\n\t\n\<UP>\<END>"
    else
        return "\n"
    endif
endfunction
inoremap <silent> <expr> <CR> AddIndentWhenEnter()

デモ

sample mov

GitHubで編集を提案

Discussion