Report abuse

1
2
3
4
5
6
7
8
function! CleverTab()
    if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
        return "\<Tab>"
    else
        return "\<C-N>"
endfunction

inoremap <Tab> <C-R>=CleverTab()<CR>