omnifunc=pythoncomplete
を使用しています。 Word(例:os.<something>
)をオートコンプリートすると、期待どおりに適格なクラスメンバーと関数のリストが表示され、選択したメンバーまたは関数に関するドキュメントを含むスクラッチバッファープレビューウィンドウが表示されます。これは素晴らしいことですが、必要な機能を選択した後、プレビューウィンドウは残ります。
:pc
で削除できますが、関数、Eclipseを選択すると、自動的に消えます。 completeopt
をいじってみましたが、役に立ちませんでした。
以下を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
すでに受け入れられた回答がありますが、この問題を抱えているプラグインで機能するドキュメントから直接見つけました。
autocmd CompleteDone * pclose
スーパータブプラグインがインストールされている場合、supertab-closepreviewonpopupclose
というオプションがあります。
次を.vimrcに追加します。
let g:SuperTabClosePreviewOnPopupClose = 1
自動的に閉じる方法はわかりませんが、入力できます
:pclose
スクラッチプレビューを手動で閉じます。
私はこの質問が非常に古いことを知っていますが、「きれいな」解決策を探して数日後、私は仕事をするCompleteDone自動機能を見つけました:
au CompleteDone * pclose
次のマッピングをスローして、特定のキーにプレビューウィンドウを閉じさせます。
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
.vimrc
に入力できます:
set completeopt-=preview