VIM 的自带补全是根据上下文出现过的单词作为补全元的,将以下代码加入到你的 init.vim 里面就可以实现 Tab 触发补全以及连续使用 Tab 来进行切换选中补全
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| " Simple tab completion -----------------------------------------------------------------------------
" A simple tab completion, if you use the coc.nvim, you should remove this simple completion
inoremap <expr> <Tab> getline('.')[col('.')-2] !~ '^\s\?$' \|\| pumvisible()
\ ? '<C-N>' : '<Tab>'
inoremap <expr> <S-Tab> pumvisible() \|\| getline('.')[col('.')-2] !~ '^\s\?$'
\ ? '<C-P>' : '<Tab>'
augroup SimpleComplete
autocmd CmdwinEnter * inoremap <expr> <buffer> <Tab>
\ getline('.')[col('.')-2] !~ '^\s\?$' \|\| pumvisible()
\ ? '<C-X><C-V>' : '<Tab>'
augroup END
" When you use konsole, you may need this
hi Pmenu ctermfg=yellow
hi PmenuSel ctermbg=darkgray ctermfg=white
|
不过值得注意的是,这个 VIM 设置片段不应该与其他那些自动补全插件一起使用,容易造成冲突,比如不能和 coc.nvim 一起使用