症状
o
,O
などでインサートモードに入るとインデントが調整された位置にカーソルが移動するのに,空行でi
を押してもインデントが調整されない
解法
" smart indent when entering insert mode with i on empty linesfunction! IndentWithI()if len(getline('.'))==0return"cc"elsereturn"i"endifendfunctionnnoremap<expr>i IndentWithI()
空行の場合はcc
で一行上のインデントを踏まえた位置にカーソルを移動.空行でなければ普通のi
の動作
参考
http://stackoverflow.com/questions/3003393/vim-smart-indent-when-entering-insert-mode-on-blank-line
上サイトのanserを合わせてシンプルな解法になるようにしています.