先日Firefox 49がリリースされましたが、 今回の変更はどちらかと言うとユーザー側には直接見えないような変更でした。
なんですが、VimperatorのSmart Completionが上手く動作しなくなってしまったので それに対する対処法について。
Firefox 49リリース
主にはセキュリティー関連のアップデートとリーダーモードへの機能追加、と言った所。
また、ビデオ通話ツールのFirefox Helloのサポートが終了しました。 (敢えてFirefoxでやる必要が?というところで。)
そんな中Vimperatorでちょっと上手く動かないものが出てきました。
Firefox 49でVimperatorのSmart Completionを動かす
Vimperatorでは、Oを押すと、コマンドラインモードで:open
と
入力され、その後に入力できる様になりますが、
この際、指定しておいたカテゴリーからの補完が行なえます。
こんな感じ。 カテゴリの指定は~/.vimperatorrcの中で
set complete=lS
の様な形でcomplete
という値に指定したいカテゴリに該当するアルファベットを与えます。
いくつでも可。
s サーチエンジンの名前とブックマークキーワード
f ローカルファイル
l Firefox のロケーションバーのエントリ (賢くソートされたブックマーク、履歴)
b ブックマーク
h 履歴
S サジェストエンジン
t 開かれているタブ
このリンクはVimperatorを導入済みの場合のみ開けます。 そうでない場合はソースを直接。
vimperator-labs/options.xml at f39f8e41876b009df5a92584def963440cc7d3be · vimperator/vimperator-labs
私の環境では上の様にFirefoxのロケーションバーのエントリ(これがSmart Completion) と検索エンジンを使ったサジェストを入れています。
ロケーションバーの機能の中にはブックマークや履歴、 さらには検索エンジンサジェストも入っていますが、 特に履歴の検索にひっかかると新たに同じワードで他のページを見たい時に 検索エンジンサジェストの優先順位が低くて全く見れないので これだけ別途入れることにより下の方に必ず表示させる様にしています。
ブックマークを良く使う場合にはb
も入れておいても良いかも。
で、この保管機能におけるロケーションバーの部分(Smart Completionの部分)が Firefox 49で現在のVimperatorのバージョン3.14.0では動かなくなっています。
この機能はVimperatorを使う大きな理由の一つでもあるのでなんとかしたい。
と思ったらやっぱり困ってる人は居て、 既にこれを直すためのパッチがVimperatorの公式レポジトリで導入されています。
ただし、このFixが入ったVimperatorはまだリリースされていないため このままでは使えませんが、 設定ファイルの.vimperatorrcに
js services.services.autoCompleteSearch.class_="@mozilla.org/autocomplete/search;1?name=unifiedcomplete"
と書いておくとなおる、という対処法も紹介されています。
Smart Completions not work on Fx49 · Issue #590 · vimperator/vimperator-labs
Firefox 47から野良ビルドアドオンがインストールできなくなったので これを使う必要があります。
取り敢えず書き込んで再起動してみた所今まで通りちゃんと動くようになりました。
この問題は多くの人に影響が出ると思いますし、 直しも特に問題が無さそうなのですぐに新しいリリースとして出そうではありますが、 取り敢えず今のところは上の様な設定を自分で.vimperatorrcに入れることで Smart CompletionをVimperatorで使える様になります。