Vimperatorの代替をVim VixenにすべきかTridactylにすべきか
2019-05-29追記
だいぶ前から、Tridactylにbindurl
という機能が追加されて、これにより(部分的に挙動が怪しくはあるが)、ある程度feedSomeKeys相当の機能も使えるようになった。
Tridactylは挙動があちこち怪しくはあるのだが、それを差し引いてもVim VixenよりVimperatorに近い機能を実装できている感じはあり、個人的にはもうこちらだけ使っている。
2019-04-07追記
この記事書いてからどちらもいろいろ機能増えてるので、あまり参考にしないこと。バージョンアップに追従したいがなかなか時間が取れない。
この間Quantumでない最後のESRが死んだので、Vimperatorが完全に死にました。いやまあWaterfoxとかもあるけど、そもそもVimperator自体がだいぶ前から死に体だしと。
で、代替はVim Vixenかなあと思ってたんだけど、Tridactylってのもあると知ったので両方調べたり試してみたり。その結果を雑にまとめてみた。
結論から言うと現時点ではクイックマークを使えるという一点だけでもTridactylかなあ、でもどっちもつらいんで、まだ修正しやすそうなVim Vixenを、自力でなんとかするのがベターかな、といった感じ。
Vimperatorで使っていた機能=代替に欲しい機能
これきちんとリストアップしないと、うまく比較できないのでは、と思いリストアップ。
- Vim風の操作
- ページを開く操作。
- 履歴移動。
- CTRL-O, CTRL-I
- タブ操作。
- gt, gT, d, u, :tabm[ove], :tabo[nly]
- ページ内移動。
- j, k, h, l, CTRL-D, CTRL-U, CTRL-F, CTRL-B, gg, G
- m, `でのマーク移動もたまに使ったが、まあなくても。
- ページ内検索。
- /, n, N. ?はあまり使ってなかったと思うけどまあ/実装するなら?あるよね。
- また検索履歴の呼び出し。
- 入力コントロール内での操作。
- i_CTRL-BをLeftにマップしたり、i_CTRL-FをRightにマップしたり、シェル風操作に。
- 表示の操作。
- zi, zI, zo, zO, zz
- その他操作
- i, INSによる一時的な機能の無効化。
- :ec[ho]を電卓代わりにして計算とかもちょっと。
- :res[tart]
- その他
- プラグイン
- feedSomeKeys
- 一部サイトで一部キーをサイト側に流すようにして。またマップすることでサイト側のキー操作をカスタマイズする感じにしたりして。
- copy.js
- y, YでそれぞれURL, titleのコピーをできるように。
- feedSomeKeys
欲しい機能の、Vim Vixen, Tridactylそれぞれでの実装状況
機能 | Vim Vixen | Tridactyl |
---|---|---|
o, O, t, T | ○ | △ (ブックマークからの検索ができず、候補の編集もできない) |
M, go, gn | × | ○ |
gu, gU | ○ | ○ |
f, F | ○ | ○ |
CTRL-O, CTRL-I | ○ (デフォルトではマップされてない) | ○ |
gt, gT | ○ | ○ |
d, u | ○ | ○ |
:tabm[ove] | × | ○ |
:tabo[nly] | × | ○ |
h, j, k, l | ○ | ○ |
CTRL-D, CTRL-U, CTRL-F, CTRL-B | ○ | ○ |
gg, G | ○ | ○ |
m, ` | × | × |
/, n, N | ○ (検索履歴を辿れない) | × (Firefox自体のページ内検索が出るが、その挙動も不完全?) |
i_*(フォームコントロール内のマッピング) | × | ○ (一応実装されているようだがWebExtensionsの問題か制限が多過ぎる) |
zi, zo, zz | ○ | ○ |
zI, zO | × | × |
i, INS | × (<S-Esc>でアドオン丸ごとの無効化は可能) | △ |
:echo | × | × (コマンド自体は存在しているっぽいが出力されない) |
:restart | × | ? (実装されているようだがNative Messenger? が必要とのこと) |
:style | × | × |
addUserCommand | × | × |
プラグイン | × | × |
feedSomeKeys相当 | × (ブラックリストでサイトごとのアドオン丸ごとの無効化は可能) | × |
copy.js相当 | △ | ○ |