>>556
タブのインデントはccがその挙動だけど、>>557と同じくノーマルモードに戻ったら消えるので
inoremap <Tab> cc<Space><BS>

すでに行に何か文字がある場合何もしないなら
inoremap <expr> <Tab> getline(".") =~# '^\s*$' ? cc<Space><BS> : ''


>>554
getchar()を使うって手もある