如何在vim中启用自带的补全功能

Sunday, June 4, 2023
本文共504字
2分钟阅读时长

⚠️本文是作者P3troL1er原创,首发于https://peterliuzhi.top/posts/%E5%A6%82%E4%BD%95%E5%9C%A8vim%E4%B8%AD%E5%90%AF%E7%94%A8%E8%87%AA%E5%B8%A6%E7%9A%84%E8%A1%A5%E5%85%A8%E5%8A%9F%E8%83%BD/。商业转载请联系作者获得授权,非商业转载请注明出处!

Love has no age, no limit; and no death. — John Galsworthy

我很多时候使用vim就是写个脚本文件或者改个配置什么的,最好是需要用的时候马上就可以用,主打一个方便

然而我又是一个离不开自动补全的人,虽然没有自动补全也能写,但是那个体验…

然后我就试了一下vim的各种补全插件…一言难尽

因为有些插件安装过程极其复杂,而且往往依赖项都要最新的,如果需要在新系统或者老旧版本的系统上安装耗费精力极大,而且其体验往往不如vscode,其浪费的时间精力超过vscode两三倍(况且vscode又不是没有vim插件,虽然很简陋就是了)

然后经过一番搜索,我发现了这个项目,使用纯vim脚本来调用vim本身自带的自动补全功能,什么依赖都不需要,复制到~/.vimrc就可以了!

这个项目就是GitHub - skywind3000/vim-auto-popmenu: Display the Completion Menu Automantically (next AutoComplPop) !!

如果向我一样懒惰,什么插件都不想安装,希望配置新环境的时候只需要一个.vimrc文本文件就能完美符合要求,就把vim-auto-popmenu/apc.vim at master · skywind3000/vim-auto-popmenu · GitHub内的全部内容复制到~/.vimrc中,然后加上:

" enable this plugin for filetypes, '*' for all files.
let g:apc_enable_ft = {'*':1}

" source for dictionary, current or other loaded buffers, see ':help cpt'
set cpt=.,k,w,b

" don't select the first item.
set completeopt=menu,menuone,noselect

" suppress annoy messages.
set shortmess+=c

搞定!