1. Tab和Space转换函数,expandtab和rettab的组合运用。命令:ToTab,:ToSpace分别转换当前文件到tab缩进和space缩进。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | " -------------------------------------------------- " [空格与制表切换] {{{ " -------------------------------------------------- fu ! ToggleTab(t) if a:t == 'tab' setl noet ret ! elsei a:t == 'space' setl et ret en endf com ! -nargs=0 ToSpace call ToggleTab( 'space' ) com ! -nargs=0 ToTab call ToggleTab( 'tab' ) " }}} |
2. Tab键补全,这个是以前网上的配置里面摘出来的。用惯了Tab键补全,C-p、C-n实在不习惯。函数做了简单的判断,在字母后面为补全,其它地方为Tab键。后面了加一个Shift+Tab的强制Tab键映射,在任何情况下都能键入tab。
1 2 3 4 5 6 7 8 9 10 11 12 13 | " -------------------------------------------------- " [自动完成函数] {{{ " -------------------------------------------------- " 自动完成 fu ! InsertTabWrapper() let col = col ( '.' )-1 return (! col || getline( '.' )[ col -1] !~ '\k' ) ? "\<TAB>" : "\<C-P>" endf " 映射键 ino <TAB> <C-R> =InsertTabWrapper() <CR> " 强制TAB键 ino <S-TAB> <C-R> = "\<TAB>" <CR> " }}} |