Jelajahi Sumber

Smart indent with `i` on (empty) newlines

Andrew Swistak 8 tahun lalu
induk
melakukan
6c1211ce1c
1 mengubah file dengan 10 tambahan dan 0 penghapusan
  1. 10 0
      vimrc

+ 10 - 0
vimrc

@@ -360,6 +360,16 @@ while c <= 'z'
   let c = nr2char(1+char2nr(c))
 endw
 
+" Smart indent when entering insert mode with i on empty lines
+function! IndentWithI()
+    if len(getline('.')) == 0
+        return "\"_cc"
+    else
+        return "i"
+    endif
+endfunction
+nnoremap <expr> i IndentWithI()
+
 " For auto-aligning '|' delimited tables
 inoremap <silent> <Bar>   <Bar><Esc>:call <SID>align()<CR>a
 function! s:align()