93

私はを使用してomnifunc=pythoncompleteいます。単語(たとえばos.<something>)を自動補完すると、期待どおりに適格なクラスメンバーと関数のリスト、および選択したメンバーまたは関数に関するドキュメントを含むスクラッチバッファープレビューウィンドウが表示されます。これは素晴らしいですが、必要な機能を選択した後、プレビューウィンドウは残ります。

で取り除くことができますが :pc、Eclipseという関数を選択した後、自動的に消えてほしいのです。私は遊んcompleteoptだことがありますが、役に立ちませんでした。

4

7 に答える 7

106

あなたの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
于 2010-06-24T04:00:25.860 に答える
79

すでに受け入れられた答えがありますが、私はこの問題を抱えているプラ​​グインで機能するドキュメントから直接これを見つけました。

autocmd CompleteDone * pclose
于 2014-09-24T17:28:32.953 に答える
19

supertabプラグインがインストールされている場合は、と呼ばれるオプションがありますsupertab-closepreviewonpopupclose

.vimrcに次のように入力します。

let g:SuperTabClosePreviewOnPopupClose = 1
于 2012-11-29T16:30:27.160 に答える
9

自動的に閉じる方法がわかりませんが、入力できます

:pclose

スクラッチプレビューを手動で閉じます。

于 2014-03-03T06:01:41.980 に答える
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
于 2010-06-24T02:28:53.213 に答える
1

私はこの質問が非常に古いことを知っていますが、「クリーンな」ソリューションを何日も探した後、私はちょうどその仕事をするCompleteDone自動関数を見つけました:

au CompleteDone * pclose
于 2015-01-28T10:05:34.750 に答える
0

あなたはそれを.vimrc:に入力することができます

set completeopt-=preview
于 2016-04-28T07:05:40.437 に答える