2011-06-18 24 views
11

enter image description hereVimで入力する際に​​、配列オプションの自動提案を取得するにはどうすればよいですか?

のは、私が入力したとき、私はvimの中での.pyファイルに

a = [1, 2] 

を入力しましょう "" TABを押すと、リストに関連する提案メニューが表示されます。

Robinのコメントに応じて1を編集: vimでは、指定されたPythonコードが有効なコードであるかどうかをチェックするプラグインがあると思います(私はプラグインが何であるかわかりません)。見てみましょう:

enter image description here

答えて

7

最近のバージョンはpythoncompleteと呼ばれるomnicompletionスクリプトが付属しています。

はPythonのファイルを開き、現在の補完機能があるかどうか確認するために

:set completefunc? 

を入力します。あなたが戻った場合、

completefunc= 

現在、完了機能は設定されていません。今、あなたはvimの中にいるとき

autocmd FileType python set completefunc=pythoncomplete#Complete 

をあなたは

:set completefunc=pythoncomplete#Complete 

を入力して補完機能するpythoncompleteを設定することができますし、これは(あなたのvimrcで)使用してPythonのファイルのデフォルトに設定することができます

、あなたは はCtrl + X はCtrl + Oを使用してomnicomplete使用することができますし、ポップアップメニューを取得する必要があり、以下に示すよう:

list completion

また、(あなたのvimrcで)と挿入モードでのタブのキーにこれをバインドすることができます、

inoremap <Tab> <C-x><C-o> 

が表示されるドロップダウンメニューとの相互作用についての詳細を検索してみてください

:help ins-completion 
+0

私はそれが答えだと思います。私は別の質問があります: "私は自動的に([スクラッチ] [プレビュー])上に開く追加のドキュメントウィンドウを自動的に取り除くのですか?" –

+2

チェック:set completeopt?オプション 'プレビュー'を使用すると、プレビューウィンドウにドキュメントストリングが表示されます。プレビューなしでcompleteoptを設定した場合、これは表示されなくなります。 – actionshrimp

+2

@Spiritwalkerはhttp://info.birnamdesigns.com/wiki/Vim_close_preview_window_after_omnifunc_selectionも参照してください。挿入モードを離れるかカーソルを移動するときにプレビューウィンドウを自動的に閉じる方法については、 –

3

はPythonのIDEとしてVimを設定するには、多くのブログの記事のいずれかをお読みください。 Here's oneを起動してください。特に、OmniComplete関数に興味があります。

これは、キーストロークCTRL-XはCtrl-Oにデフォルトでバインドされていますが、Tabキーにそれを再バインドすることができます。

変数の型には影響を受けません。入力すると次のように入力できます:

string.<ctl-x><ctl-o> 

文字列オブジェクトメソッドのリストが表示されます。あなたは、あなたの質問に記載しないようなら何か:

x = "a string" 

x.<ctl-x><ctl-o> 

はvimのは、変数xは、文字列を保持しており、メソッドのリストを供給することができませんことを知ることができません。 omn​​icompleteの詳細については

:VIMの

:help omnifunc 
+0

それは不可能なのですか? –

+1

@Spiritwalker可能であれば、私はそれを行う方法がわかりません。私が間違っていると分かっている別の答えを歓迎する。 –

+1

も参照してください。http://www.mohdshakir.net/2007/12/27/enable-vim-code-python-auto-complete –

関連する問題