我正在使用omnifunc=pythoncomplete
。当自动填充单词(例如os.<something>
)时,我会按预期获得符合条件的类成员和函数的列表,以及带有关于所选成员或函数的文档的临时缓冲区预览窗口。这很棒,但在选择了我想要的功能后,预览窗口仍然存在。
我可以用:pc
摆脱它,但我希望它只是在我选择了我的函数之后自动消失,一个Eclipse。我玩过completeopt
,但无济于事。
答案 0 :(得分:104)
将以下内容放入vimrc:
" If you prefer the Omni-Completion tip window to close when a selection is
" made, these lines close it on movement in insert mode or when leaving
" insert mode
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
答案 1 :(得分:68)
即使已经有一个已接受的答案,我直接从文档中找到了这个,这对任何有此问题的插件都有效。
autocmd CompleteDone * pclose
答案 2 :(得分:18)
如果您安装了supertab插件,则会有一个名为supertab-closepreviewonpopupclose
的选项。
将以下内容放入.vimrc:
let g:SuperTabClosePreviewOnPopupClose = 1
答案 3 :(得分:7)
我不知道如何自动关闭它,但您可以输入
:pclose函数
手动关闭临时预览。
答案 4 :(得分:2)
我知道这个问题已经很老了,但经过几天寻找“干净”的解决方案后,我才找到了完成这项工作的CompleteDone自动功能:
au CompleteDone * pclose
答案 5 :(得分:1)
您可以使用以下映射来使某些键尝试关闭预览窗口。
inoremap <space> <C-O>:wincmd z<CR><space>
inoremap ( <C-O>:wincmd z<CR>(
inoremap ) <C-O>:wincmd z<CR>)
inoremap , <C-O>:wincmd z<CR>,
inoremap <CR> <C-O>:wincmd z<CR><CR>
inoremap <esc> <esc>:wincmd z<CR>
在插入模式完成后,您还可以使用自动命令关闭预览窗口:
augroup GoAwayPreviewWindow
autocmd! InsertLeave * wincmd z
augroup end
答案 6 :(得分:0)
您可以在.vimrc
:
set completeopt-=preview