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


13

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

オートコンプリートに一連の単語を追加したいと思いますが、頻繁に編集しているソースファイルには含まれていません。私の現在の解決策は、テンプレートファイルの下部にあるコメントに単語のリストを追加することですが、それはせいぜい少し無駄で手間がかかりそうです。

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

回答:


10

~/.vimrcファイル内で略語を2、3語だけ使用できます。

:abbr supeスーパーユーザー
:abbr autoc autocomplete
:abbr que question

Spaceまたはを押すと、これらは自動補完されEnterます。あなたが入力したのであればque、次に押されたSpaceか、Enterそれはあなたのための単語「質問」を終了します。

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

代替テキスト

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

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

パスを辞書ファイルの場所に置き換えます。その後、Ctrl+ xCtrl+ kを使用して提案を表示できます。Ctrl+ nおよびCtrl+ pを使用して、複数選択から次/前を選択します。


1
素晴らしい!辞書を使用します!
マッド

これはうまくいきました!私はその見栄えの良いメニューを取得しません。VIM 6.3.82を使用していますが、これは最新バージョンではありません。
マッド

ああ...更新は役立ちますか?メニューを表示するには、Ctrl-x、Ctrl-kのシーケンスを押す必要があります。しかし、喜んで助ける:)
ジョンT

これが適切な方法です。
at。

これがVIM 7.2で機能することを確認しました。再度、感謝します!
madh

2

通常のオートコンプリート(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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.