- smartinput.vimを用い、
<CR>
を入力した際、状況に応じてend
を自動で入力させる
<CR>
が入力された際、以下の内容を実装した関数をcallする。
``を入力した際にカーソルが存在する行のインデントの深さを取得。これをl:smartend_indent_level
とする。カーソルが存在する行から一行ずつインデントの深さをチェックして行き、`l:smartend_indent_level`と同じインデントの深さで、インデントの直後に`end`が存在する行に到達した場合、何もせずに処理を終了。`l:smartend_indent_level`より浅いインデントを持つ行、ただし深さ0の場合は除く、に到達した場合はその行に`l:smartend_indent_level`と同じ深さのインデント及び`end`を挿入し処理を終了。