vim:オートコンプリートのための事前ポップアップ操作

vim:オートコンプリートのための事前ポップアップ操作

cdoを使用するようにvimを調整したいです(気候データオペレータ)効率的。 (bash)スクリプトでcdoを使用する必要があるため、小さな説明(まだ検索中!)でオートコンプリートマッチ(実装済み)を追加したいと思いました。

環境を設定しましたが、基本レベルで実行されています。これで、一致する辞書キーワードの右ポップアップメニュー出力を操作できるかどうか疑問に思います。

これまで簡単なキーワード一致がありました。下記をご覧ください。

次の設定を使用します。

私の.vimrc: set completeopt=longest,menuone

主に cdo.dic などのさまざまな辞書が含まれています: ~/.vim/ftDetect/cdo.vim:

au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/cdo.dic au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/hamocc.dic au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/mpiom.dic

私の辞書ファイル〜/.vim/dictionary/cdo.dic:次のように一致します。

abs -abs \ adisit -adisit \ ...約700以上...

ターゲット:私が取得したい出力は、辞書ファイルのファイルパスではなく、右側に示す小さな説明です。したがって、演算子の簡単な説明を持つことをお勧めします(たぶん、演算子の後に辞書ファイルに保存することはできますか?)。説明目的で

selcode : Select parameters by code number {selcode,code ifile ofile}

辞書から行を読みます。

selcode -selcode {Select parameters by code number [selcode,code ifile ofile]}\

だから基本的に私は、多くのプログラミングや他の外部ツールプラグインを使わずに、クイック検索ツールを使って演算子の名前と簡単な説明を見つけます。それで「できるか、どう?」という質問なのに…

これまで、私はvimドキュメントとvim、Dictionary、Complete、Completeopt、pmenuなどを検索してみました。

アドバイスありがとうございます。

答え1

(Vimのソースコードを直接変更しない限り)プリコンプリートのコンテキストに影響を与えることはできません。

しかし、Vimはカスタム補完を実装する機能を提供します。ここではすべての関連情報と例を見つけることができます:help complete-functions。これにより、コンテキスト(menu、cp。という名前:help complete-items)に対するフルアクセス権が得られます。

辞書ファイルをソースとして使用できます。ファイルを読み取って(たとえば、readfile())ビットを解析する(またはmatchlist())カスタムコンプリート機能を実装するVimスクリプトでは、辞書エントリをVimリストとして直接定義する必要があります。 。

答え2

この問題を発見した後、プラグインを作成しました。

https://github.com/jsit/vim-customcpt

Ingo Karkatの承認された回答に応じて構築されたaaron.springプラグインで構築されましたが、任意のjsonファイルをオートコンプリート「辞書」として受け入れます。

関連情報