Vim スクリプトの補完候補に補足情報をつけたい
はじめに
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>
キーで押し、補完を表示すると以下のようになります。
以下のように表示されていることがわかると思います。
- 入力された文字:
1st
- 補完候補の最初の表示:
1st:
- 補完候補の補足:
first element
辞書型のキーについて
補完候補の各要素に指定するキーの用途は以下のとおりです。他にも使えるキーがありますが、Vim のマニュアル に載っています。
キー | 用途 |
---|---|
word |
挿入されるテキスト。必須 |
abbr |
"word" の略。これが空でなければ、メニューで "word" の代わりに表示される。 |
menu |
ポップアップメニューにおける追加情報。"word" または "abbr" の後に表示される。 |
おわりに
補完の候補に補足情報も追加できることがわかってよかったです。より便利に使えそうです。
参考
Author And Source
この問題について(Vim スクリプトの補完候補に補足情報をつけたい), 我々は、より多くの情報をここで見つけました https://qiita.com/gotchane/items/34d09d1f9a68a993bfc6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .