web-dev-qa-db-ja.com

Vimオートコンプリートボキャブラリーに単語のセットを追加できますか?

Vimでは、CTRL-nとCTRL-pを使用してドキュメント内の単語をオートコンプリートすることを認識しています。これは、説明的なメソッドと変数名の使用を促進するのに最適です。

オートコンプリートに単語のセットを追加したいのですが、現在編集しているソースファイルにはありません。私の現在の解決策は、テンプレートファイルの下部にあるコメントに単語のリストを追加することですが、それはせいぜい少し無駄で厄介なようです。

すべてのVimセッションでアクセスできるVimのオートコンプリート語彙に単語を追加する方法はありますか?

14
madh

~/.vimrcファイルで、ほんの数語の略語を使用できます。

:abbr supe superuser 
:abbr autoc autocomplete 
:abbrque質問

これらは押すとオートコンプリートされます Space または Enter。したがって、queと入力した場合は、 Space または Enter それはあなたのために言葉の「質問」を終えるでしょう。

たくさん追加していて、このインターフェースが必要な場合:

alt text

辞書 を使用できます。各行にWordを含むファイルを設定し、.vimrcに次のような行を追加するだけです。

set dictionary+=/home/john/dict.txt

パスを辞書ファイルの場所に置き換えます。その後、使用することができます Ctrlx そして Ctrlk 提案を持ち出すために。 Ctrln そして Ctrlp 複数の選択肢から次/前を選択します。

11
John T

通常のオートコンプリート(から取得したもの)への「ソース」 Ctrl+N)はcompleteオプションから取得されます(:h 'complete'を参照)。デフォルトは

complete=.,w,b,u,t

つまり、

  1. .現在のバッファをスキャンします
  2. w他のウィンドウからバッファをスキャンします
  3. bバッファリストにある他のロードされたバッファをスキャンします
  4. uバッファリストにあるアンロードされたバッファをスキャンします
  5. tタグの完了

あなたはあなた自身の辞書を追加することができます

set complete+=k~/.vim/keywords.txt

~/.vim/keywords.txtに1行に1つずつキーワードを追加します。このようにして、次のコマンドで補完に直接アクセスできます。 Ctrl+N (辞書の補完を明示的に呼び出す必要はありません。 Ctrl+X、 Ctrl+K)。これは、keywords.txtに一般的に使用されるすべての関数名があるコード補完に特に役立つことがわかりました。

3
ecerulm