cVimからSurfingkeysに乗り換えた

Vimperatorが使えなくなってから長いことcVimを使っていたが、cVimもメンテナンスされなくなり、cVimをforkしたvb4cも更新されないままついにarchiveになってしまった。

というわけで乗り換え先を色々検討して、最終的にはSurfingkeysにした。

github.com

他にも色々検討したので調べたことをメモっておく。また、Surfingkeysの設定は記事の末尾にリンクを置いた。

乗り換え先に求める要件としてはcVimに乗り換えたときと概ね同じで、vimっぽい操作に加えてqmark的な機能とcopy.js的な機能がほしい、といったところだった(参考: VimperatorからVivaldi + cVimに乗り換えた - Qiita)。

Trydactyl

これはかなり良く、外観、動作ともにVimperatorにかなり近いと感じた。ただしこれはFirefoxのアドオンなので、Firefoxを使う必要がある

最近ずっとEdgeを使っていてEdgeに馴染みすぎており、Firefoxに再度乗り換えることができずに断念した。Firefoxをすでに使っていてVimperator的なものを求めているなら良いかもしれない。メンテナンスもされている様子。

Vimium

Chrome Vimとかでググるとトップに出てくるやつ。Chromeウェブストアでのユーザー数と評価は圧倒的。

ただカスタマイズ性はあまり高いとは言えない。qmark的なことも頑張ればできるっぽいがやや面倒。webページのタイトルやurlのコピーは用意されたコマンドの範囲ならできるが、書式の設定とかはできない。

デフォルトでもそこそこ使えるのであまりカスタマイズとか求めないのなら良いと思う。メンテナンスもされている。

Vimium C

Vimiumをforkして開発されているもので、Vimiumに比べて機能がかなり多く、カスタマイズ性が高い。ユーザー数はVimium本家よりは少ないものの、開発も活発で今後にも期待できる。

これはかなり良く、Vimiumの(ここがもう少しこうだったら…)と思うような部分が大体どうにかなっている。いくつかのコマンドは引数を受け付けるように拡張されており、webサイトのタイトル、urlをコピーする際に書式を設定するようなこともできる。

これは使っても良いと思ったので設定もそれなりに書いた。

Surfingkeys

冒頭にも書いたように最終的にはこれにした。

Surfingkeysは設定ファイルで任意の関数を定義できるという点で非常にカスタマイズ性が高い。要するにJavaScriptが書ければqmark的なものだろうがcopy.js的なものだろうがほぼ何でもできる。CSSを書いて外観をカスタマイズするのも容易なので、cVimっぽいレイアウトも再現できる。設定は直接書く以外にローカルファイルやURL指定の読み込みにも対応しているので、管理もしやすい。

開発も活発で、最近も大幅なアップデートがあった。気付いたらiOSにも対応してたし、とにかく機能が多い。

難点を挙げれば機能が多すぎてドキュメントが膨大になっている(あとおそらく間に合ってない箇所がある)点と、デフォルトの挙動にやや癖がある(主観)という点だ。ある程度機能を無効にしておかないと意図しない場面で意図しない動きをしたりするので、おそらく設定はほぼ必須である。そして設定をきちんとやろうとするとドキュメントが膨大で挫ける可能性がある。

だが、Surfingkeysはユーザー数がそこそこ多いので、使いやすい設定を既に誰かが書いている可能性が結構高い。Gistあたりをsurfingkeysで検索すれば設定はゴロゴロ出てくる。私の設定もGistに置いた。ただ、最近のアップデートの影響で古い設定ファイルは動かなくなっている可能性がある(私の設定ファイルもそこそこ修正した)ので、その点は注意が必要である。