ottijp blog

Vimperatorの後継プラグインを考える

いままでVimperatorを使っていたのですが,Firebox Quantumになって無事死亡したので,それに代わるプラグインを試してみています. 結果からいうと,とりあえず現状はChromeに乗り換えてcVimを使うのが私の場合のベストアンサーです.

Vimperator関係の動向はこちらのブログが詳しいです.

必要な機能

私がブラウザのvim系プラグインに求める機能は次のものです.

  • スクロールコントロール
    • 上下左右
    • ページ
    • 半ページ
  • タブコントロール
    • 左右のタブへ移動
    • タブを閉じる
    • 最後に閉じたタブを再表示
    • リロード
  • 履歴コントロール
    • 進む,戻る
  • リンクヒント(リンクがある場所に文字がフローティングして,キータイプでリンクをクリックできるやつ)
  • フォームフォーカス
    • フォームのテキスト入力へフォーカスして文字入力できる状態にする
    • 表示されていないフォームでもフォーカスしてほしい
      • Google検索結果で,ある程度スクロールした後で検索フォームへスクロールするなど
  • ページ内検索
    • インクリメンタルサーチ
    • n / Nなどで前後のヒット結果への移動
  • Web検索
    • 同タブで検索結果を開く
    • 新規タブで検索結果を開く
    • 検索エイリアス
      • a 掃除機 でAmazonで「掃除機」を検索するなど

比較

以下のプラグインを試してみました.

  • Firefox: Vixen + Saka Key
    • Vixenにはフォームフォーカスがなく,Saka KeyにはWeb検索機能が無いので,併用して評価しています
  • Chrome: Vimium
  • Chrome: cVim

Vixen + Saka Key

  • フォームフォーカス
    • 画面表示外のフォームにフォーカスできない
    • 一番上のフォームに一発でフォーカスができない
      • 1つしかなければそれにフォーカスする,というオプションはあるが,複数あると必ずヒントが出てしまう
      • 大体一番初めにある検索フォームにフォーカスしたいケースが多いが,複数フォームがあると2ステップ必要になってしまう
  • / でFirefoxのクイック検索が動いてしまい,Vixenのページ内検索が利用できない(コンフリクトしている?自分の環境だけかも)
  • 動作が不安定
    • Firefox Quantum自体が不安定で遅い・・・なぜ?
    • スクロールで微妙に位置がずれることが多い( j k での移動時に移動量が一定でない)
    • 処理が追いつかない時に反応しなかったり,2倍3倍動いたり
    • スクロール以外でもそれがよく起きるのでミスオペがとても多くなる
    • この辺の動きの遅延などがとても苦痛だった
    • 他にも j 押してもすぐに k
    押したようにスクロールが戻ってしまったりする現象もたまに起きる
  • コマンドラインとFirefoxのステータスバー(通信状態やマウスホバーしているリンクアドレスの表示など)がかぶってしまい,コマンドラインに入力している文字が見えなくなる
  • vimperatorの後継として有力なプラグインだと思うのですが,私の環境だと動作が非常に不安定なのと,/ ページ検索がうまく動かないので,これを使うのは辛いです

Vimium

  • Web検索時に,IMEの確定動作で検索ワードが確定されてしまうのがとても苦痛
    • 「家電 安い」と検索しようとして「家電」の変換を確定しようとEnterを押すとその時点で検索されてしまう
    • IMEはGoogle日本語入力を使っています
  • ページ内検索をすると何故かタブがフリーズして以後キー入力が全く動かなくなる・・・
  • 画面表示外のフォームにフォーカスできない
  • IME問題とフリーズ問題がなければ使いたいところ

cVim

  • 上記2つのプラグインの問題がなく,必要な機能を具備している
  • 設定がgistと同期できたり,ドットファイルで管理できたり,環境を整えやすい

cVimにした

ということで,ガッツリ使って評価したわけではないですが,cVimが問題無さそうなのでChromeに乗り換えてcVimを使うことにしました.

cVimでも以下のように気になるところはありますが,他のプラグインでも同様です.

  • ブラウザの設定ページやドメインが存在しない時のエラーページなど,ブラウザ自体のページでは効かない
    • 頻度が高くないのでOK
  • DOM読み込む前にタブ移動できない
    • できないけど,他のプラグインに比べcVimのほうが反応は若干早かった
  • 検索フォームでPOSTした直後に,タブコントロールなどをしようとして(フォームのフォーカスを外すため)ESCを押すと,HTTPリクエスト自体が中止されてしまう

まとめ

  • 機能だけを見れば,Vixen + Saka KeyやVimiumでもまあ大丈夫でしたが,不安定性とレスポンスの悪さなどがどうしても目立ったので,そのあたりの問題が無かったcVimにしました
  • Vivaldiも使ってみたいなあと思ってたけど,vim系プラグイン以外の部分で色々辛そうだったので見送りました
  • 求める機能に書いたもの以外にも,cVimには色々便利な機能があるようなので,いままでベーシックな機能しか使ってきませんでしたが,少しずつ試してみてみたいと思います
  • Vixenも出たばかりでこれから良くなっていくと思うので,定期的にチェックして良さそうだったらまた乗り換えるかもしれません

参考


ottijp
都内でアプリケーションエンジニアをしています
© 2024, ottijp