6

[更新06/2013:ユーザーdoubleDownが観察したように、用語が間違っています。便利なC-pキーC-nストロークはオムニ コンプリーション(オムニコンプリーション)ではなく、 キーワードコンプリーションです。ここでは、Vimの用語はやや不幸だと思います。オムニすべてのラテン語ですが、キーワードはより制限された選択のようです。デフォルトの方法C-pと作業は、キーワードだけでなく、散文のすべての単語を完成させることです。そのため、キーワードの補完だけでなく、オムニC-nの補完である必要があると思いました。]

ええと...:-)...私の質問のタイトルを入力するだけで、非常に効果的な回答が類似したタイトルの質問のカタログに表示されました。(これは、このWebサイトがどれほど優れているかを示すためのものです!)とにかく質問します-おそらく誰かが店でさらに充実した答えを持っているかもしれません...だからここに行きます:

Vimキーワードのオムニ補完(デフォルトでは編集モードにバインドされており)C-pC-n貧乏人のインテリセンスであり、私の経験ではほぼ同じくらい優れています。一致する文字列をバッファで検索します。

ただし、一部のファイルタイプスクリプトは、キーワードomni completeによって、含まれているファイルの再帰検索を実行することで、最優先されます。(更新: Vim 7.3の時点でわかるように、含まれているファイルの検索は実際にはデフォルトです:help 'complete'。一部のファイルタイプでは、多くのものが含まれているため、速度が低下し、最適ではないアルゴリズムによって悪化する可能性があります。)したがって、Perlの場合スクリプト、モジュールのリストの検索を開始します。再帰的に。それはすぐにいくつかの深刻なスキャンに退化する可能性があります、あなたが知っている、ディスクI/Oとそのすべての醜いもの。

その結果、この機能の使用は控えています。これは、を使用して検索を中断する必要があるために得られる時間と利便性が失わC-cれ、出力にランダムな文字列が残り、削除する必要があるためです。

したがって、これまでの最善の解決策は、次のように言って、デフォルトの完了で含まれているファイルの使用を無効にすることです。

:set complete-=i    # remedy
:help 'complete'    # documentation

それに追加するものはありますか?

4

3 に答える 3

2

c9sによって作成されたperlomniを使用する必要があります。

https://github.com/c9s/perlomni.vim

http://www.vim.org/scripts/script.php?script_id=2852

使い方の動画をご覧いただけます。

http://www.youtube.com/watch?v=hZ7871WcIv0

簡単な方法として、メソッドを完了するには、何かを入力して「->」と入力し、次に。

#!perl
use strict;
use warnings;
use DateTime;

my $dt = DateTime->new;

$dt->ye # type <c-x><c-o>, you'll get $dt->year
于 2011-07-14T11:39:28.590 に答える
2

もう少し外科的になりたい場合は、次を使用できます。

autocmd FileType perl set complete-=i

これで、perlコードの動作に影響を与えるだけです。

于 2014-01-25T15:15:51.343 に答える
1

この問題には、私がすでに質問で述べたこと以上のものは何もないと思います。

:set complete-=i    # remedy
:help 'complete'    # documentation

この冗長な答えにVimのニュースを追加するために、最近、Vimの構成(主にWindowsでGVimを使用)に素敵な書体といくつかの優れたプラグインを追加しました。

上記のすべての機能を備えたWin7上のGVim

于 2012-02-14T22:48:14.353 に答える