Vim 采用 YouCompleteme 自动补全,主要写 python 程序。现在配置可以补全,但提示框滞留时间过长,补全后不关闭。 请问应如何设置才能在补全后关闭提示窗口,谢谢! 这是我的设置部分(都是网上抄的,很多不明白意思)
" """"""""""""""""""""""""""""""""""""""""""""""""""""""""
" Youcomplete settings
" """"""""""""""""""""""""""""""""""""""""""""""""""""""""
" 补全功能在注释中同样有效
let g:ycm_complete_in_comment=1
let g:ycm_confirm_extra_conf=0
let g:ycm_global_ycm_extra_conf = '~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
" 补全内容不以分割子窗口形式出现,只显示补全列表
set completeopt=longest,menu
let g:ycm_add_preview_to_completeopt=0
" 从键入第 2 个字符开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=2
" 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=1
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax=1
let g:ycm_key_list_select_completion=['<C-n>']
let g:ycm_key_list_previous_completion=['<C-p>']
" 补全后自动关闭预览窗口
let g:ycm_autoclose_preview_window_after_completion = 1
" 离开插入模式后自动关闭预览窗口
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
" 补全完成时预览窗口自动消失
augroup complete
autocmd!
autocmd CompleteDone * pclose
augroup end
1
nightwitch 2020-01-22 14:52:39 +08:00
你先把这些设置都注释掉,用 ycm 的默认配置看看。ycm 默认配置下提示框工作的很正常
|
2
emisora 2020-01-23 08:18:32 +08:00
可以考虑实施 deoplete 换掉 ycm
|
3
omph 2020-01-23 10:10:41 +08:00
vim 有很多现成的配置框架,找个合适的就好,自己配太费时间
|
4
Aumujun 2020-01-23 15:05:55 +08:00 1
推荐使用 coc.nvim,这个框架特别好用
|
5
superhxl OP @nightwitch 不行,继续想办法!
|
8
omph 2020-01-24 00:37:31 +08:00
@superhxl #6
@gitopen #7 看到过几个,都是国人的 [主页 | SpaceVim]( https://spacevim.org/cn/) [EverVim: A Modern, Powerful & Modular Vim Distribution]( https://github.com/LER0ever/EverVim) [meetbill/Vim: 🚩 一键化打造 Vim IDE 环境(安装只需数秒) [环境:Linux 64 位] ]( https://github.com/meetbill/Vim) 我只是轻度用户,改改配置文件,写写脚本而已 |
9
lancelock 2020-01-24 23:30:14 +08:00
现在 lsp 是王道,试试 coc.nvim 吧
|