function! CleverTab() if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$' return "\<Tab>" else return "\<C-N>" endif endfunction inoremap <Tab> <C-R>=CleverTab()<CR>
当光标到行首都未出现非空白字符时,Tab还是Tab;否则,Tab就被映射为Ctrl+N的补全命令。
操作帮助: vim ~/.vimrc 打开配置文件(没有创建一个,点开头文件是隐藏文件,touch ~/.vimrc),把上述配置添加进去,注:vim的注释用 "