Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim スクリプトの補完候補に補足情報をつけたい

$
0
0

はじめに

Vim スクリプトの complete()関数による補完候補について調べています。

そこで、補完候補を選択したときに入力される文字列とは別に、補完候補に表示される情報に補足情報を付ける方法がないかを調べてみました。

tl;dr

補完候補となる配列の各要素を、辞書型のデータで定義すればできました。
以下のような形です。

inoremap <F8><C-R>=MyComplete()<CR>func! MyComplete()call complete(col('.'),[\{'word':'1st','abbr':'1st:','menu':'first element'},\{'word':'2nd','abbr':'2nd:','menu':'second element'},\{'word':'3rd','abbr':'3rd:','menu':'third element'}])return''
endfunc

上記を設定し、インサートモードで <F8>キーで押し、補完を表示すると以下のようになります。

image.png

以下のように表示されていることがわかると思います。

  • 入力された文字: 1st
  • 補完候補の最初の表示: 1st:
  • 補完候補の補足: first element

辞書型のキーについて

補完候補の各要素に指定するキーの用途は以下のとおりです。他にも使えるキーがありますが、Vim のマニュアルに載っています。

キー用途
word挿入されるテキスト。必須
abbr"word" の略。これが空でなければ、メニューで "word" の代わりに表示される。
menuポップアップメニューにおける追加情報。"word" または "abbr" の後に表示される。

おわりに

補完の候補に補足情報も追加できることがわかってよかったです。より便利に使えそうです。

参考


Viewing all articles
Browse latest Browse all 5608

Trending Articles