modeの補完を使いこなすには、.vimrcで適切に設定することが不可欠です。mode補完における代表的な設定項目を紹介します。mode補完の設定を行います。longestを指定できます。初期値は”menu,preview”です。menuポップアップメニューを使った補完を有効にします。menuone補完候補が一つしかなくてもポップアップメニューを表示します。補完候補の情報を見るのに便利です。longestマッチする一番長いテキストのみ補完します。<C-l>を使うことで、補完する文字を増やすことができます。大文字・小文字の区別がどうなるかは、補完に依存します。preview補完関数が対応していれば、プレビューウインドウに追加情報を表示します。'completeopt'にmenuかmenuoneがないと動作しません。この処理は一部の補完関数でしか有効にならず、しかも重いです。区切りの文字列で指定します。指定すると、他の補完を呼び出さなくて良いので便利ですが、その分動作が遅くなります。初期値は”.,w,b,u,t,i”です。'complete'を参照してください。complete=.,w,b,t'infercase':このオプションがonで、オプション'ignorecase'もonのとき、補完候補となる文字列の大文字・小文字はカーソル前の文字列によって変化します。カーソル前の文字列がすべて大文字の場合、補完候補をすべて大文字にします。逆にすべて小文字ならば小文字に変換されます。大文字小文字が混在している場合、補完候補も大文字小文字が混在するように変換されます。英文を補完するとき、大文字小文字を無視して補完するときに便利です。'pumheight':ポップアップメニューの最大高さを制御します。補完候補の数がこれを超えた場合、ポップアップメニューにはスクロールバーが表示されます。0を指定すると、表示できる最大値まで画面を占有します。ポップアップメニューがあまり画面を占有しなくなるのと、描画領域が減るため、若干補完が高速になるという効果があります。pumheight=20'previewheight':プレビューウインドウの最大高さを制御します。この値があまりに大きいと、プレビューウインドウが画面を占有するため、適切な値に設定した方がよいでしょう。previewheight=5'showfulltag':このオプションをonにすると、タグ補完の時にタグがマッチしたパターンを表示します。StudioでいうIntellisenseのように使うことができます。このオプションは'completeopt'に”longest”が含まれているときは、上手く動作しません。'iskeyword':キーワード補完などでキーワードとみなす文字の種類を定義します。iskeyword+=で文字を付け加えることによって、他の記号類もキーワードに含めることができます。初期値はプラットフォームやファイルタイプによって異なります。典型的には、Windowsならば”@,48-57,_,128-167,224-235′′、UnixやLinuxならば”@,48-57,_,192-255′′という値となります。'completefunc':ユーザ定義補完を行うためにVimが呼び出す関数名を文字列形式でセットします。自作編]で詳しく解説します。'omnifunc':オムニ補完を行うためにVimが呼び出す関数名を文字列形式でセットします。補完関数の仕様は'completefunc'と変わりません。初期値はファイルタイプやインストールしているプラグインによって異なります。mode補完に絞って紹介します。mappingが有効であるため、別の機能を割り当てることができません。それを回避するために、<expr>とpumvisible()を利用します。mappingをコマンドを表す文字列で置き換えます。mappingは次のものと等価です。mappingを利用するには、<の前に\を付けてエスケープしなければならないことに注意してください。pumvisible()はポップアップメニューが開いているときに、0でない値を返します。この関数と三項演算子を組み合わせることで、次のように記述できます。"\<C-x>\<C-o>"これを実行すると、<C-j>はポップアップメニューが開いているときに補完候補移動として動作し、開いていないときにはオムニ補完を起動します。modeというものは存在しないので、仕方がありません。ポップアップメニューの見た目を変更する:ポップアップメニューの強調色はcolorschemeによって設定されています。その色づかいは見にくいものが多いため、.vimrcで設定した方がよいでしょう。次に紹介するのがポップアップメニュー用の強調色です。Pmenuポップアップメニューのアイテムの色です。PmenuSelポップアップメニューの現在選択しているアイテムの色です。PmenuSbarポップアップメニューのスクロールバーの色です。PmenuThumbスクロールバーの現在位置を表す色です。