ページ上の単語で補完
ページ上の単語を completer に 出したいなと思って書きました。
現状、単語の区切り方がよろしくない(特に日本語)せいか、微妙です。
COMMAND_LINE,INSERT から の 補完
:js <<EOF userContext.word_completer_maps = [ [[modes.COMMAND_LINE, modes.INSERT], ["<C-Space>"], {screen: true}], ]; EOF
のように 設定します。
の 状態から
単語補完に遷移します。
ここでは、hintMatcher を 利用して 絞ることができます。
(= migemo hint matcher を 利用していれば、migemo で 絞れます)
単語を指定後、
commandline や input 要素に 復帰します。
(commandline や input 要素で 何か特殊なことをやっている場合は、正常に動作しません)
Map.arg を 使用したショートカット
上記のように作成したものの、
そこで、予めコマンドを登録しておいて、単語選択のみで実行できる方法を追加しました。
:js <<EOF userContext.word_completer_shortcut = { modes: [modes.NORMAL], maps: ["<C-t>"], extra: {screen: true}, t: "tabopen", o: "open", e: "eijiro", w: "tabopen wikipedia", }; EOF
のように 設定しておくと、
となり、
{screen: true} について
画像では、判別できないので補足です。
"screen: true"を設定すると、ページ全体ではなく、現状見えている部位から補完します。
よって、ページ先頭で補完をcall すれば、ページ末尾 付近の 単語が 抽出されません。
source:https://github.com/caisui/vimperator/blob/master/plugin/word-completer.js