Vim使いなら導入必須のGoogle Chrome拡張機能「Vichrome」

独特の操作体系が初めは取っ付きにくいエディター「Vim」(Vi)。しかし、慣れてしまえば、その操作性の快適さから手放せなくなるエディター「Vim」。「Vimの快適なインターフェイスをGoogle Chromeでも使いたい」、そんな全てのVim使いにおすすめしたい、Vim使いなら導入必須のGoogle Chrome拡張機能「Vichrome」を紹介します。

  • Vichrome - Google ChromeでVim風のインターフェイスを実現する拡張機能

Google ChromeをキーボードでVim風に操作する拡張機能はいくつか存在します。その中でも「Vimium」は最も利用されている拡張機能ではないでしょうか(ちなみに、Firefoxであれば「Vimperator」が最も利用されているアドオンでしょう)。

実際に、自分もこれまで「Vimium」を利用してきましたが「Vichrome」の存在を知り、さっそく乗り換えました。

「なぜVichromeはVim使いに必須の拡張機能なのか?」、「なぜ他の拡張機能ではなくVichromeなのか?」という疑問については、開発者による「Vichrome : vim風インタフェースを実現するChrome Extension」でほぼ触れられています。ですので、個人的な「なぜVimiumからVichromeへ乗り換えたのか?」という点からVichromeを紹介していきます(内容がかぶる部分も多いですが)。

日本語で検索できる

Vichromeでは、日本語による検索をVim風インターフェイスで行えます。Vichromeの開発者は日本人です。通常のページ内検索(/, ?キー)に加え、「GoLinkTextSearchMode」(aキー)では、リンクテキストのみを対象とした検索が行えます。

  • 日本語検索 - Vichrome

Vimiumは日本語検索に対応していないため、主な操作はVimiumのキーボードショートカットで行いつつも、ページ内検索を行う際にはChromeの標準機能(Ctrl+f)を利用していました。検索バーの表示を切り替える必要があり、面倒に感じていましたが、Vichromeでは日本語によるページ内検索、リンクテキスト検索をシームレスに快適に行えるようになりました。

コマンドラインモードがある

Vichromeでは、使いたい機能を使いたい時にだけ使用できます。ショートカットキー以外にコマンドラインモード(:キー)による操作が行えます。オプションを付けることで挙動を変更できるコマンド、エイリアスの設定(Alias)やモード別のキーマッピング(NMap, IMap)を行うコマンドがあるため、一時的にVichromeの挙動を変えることができます。

  • コマンドラインモード - Vichrome

Vimiumでもコマンドを使用したキーマッピングを行えますが、全ての機能をキーボードショートカットとして設定する必要がありました。また、細かい挙動をその都度、変更することはできませんでした。Vichromeでは、使用頻度の低い機能をコマンド入力で使用することによって、ショートカットキーの衝突や誤操作が減りました

コマンドのエイリアスが使える

Vichromeでは短いコマンドで様々な操作が行えます。コマンドのエイリアス(別名)を設定できるaliasがあるため、ショートカットキーを使わないコマンドモードでも長いコマンドを入力する必要がなく、自分の覚えやすいコマンドで操作できます。

Vimiumではコマンド名の長さは気にはなりませんでしたが、それはコマンドラインモードがないためでした。Vichromeでは、コマンドのオプションとエイリアスを組み合わせることで、短いコマンド名で様々な操作を行うことが可能になりました。

以下は、VichromeのエイリアスとOpenコマンド、JavaScriptスキーム(ブックマークレット)を組み合わせ、:linkで現在のページへのリンクタグを生成する設定例です。

alias link Open javascript:var%20e=window.prompt('リンク','<a%20href="'+location.href+'">'+document.title+'</a>');

ページごとに設定を変更できる

Vichromeではページごとに設定を変更できます。ワイルドカードを用いて、ページのURLごとにキーマッピングやエイリアスを設定できるpagecmdがあるため、Twitterのような独自のショートカットキーを持つページでもVichromeを共存させることができます。また、特定のページに特有の操作を設定することができます。

VimiumではページのURLごとに拡張機能の無効化は行えるものの、有効か無効かの選択肢しかないため、独自のショートカットキーを持つページではどちらかの機能を諦めなければなりませんでした。Vichromeでは多くのページで共存が可能なため、拡張機能が有効なのか無効なのかを気にする必要がなくなり、拡張機能が無効なページでキーボード操作を行うことによる誤操作が減りました

以下は、frキーに設定してあるVichromeのキーマッピングをTwitterのページでのみ無効化する設定例です。

pagecmd http*://twitter.com* nmap f <Nop>
pagecmd http*://twitter.com* nmap r <Nop>

ページ内のリンクを連続して開ける

Vichromeでは、少ないキーボード操作でページ内のリンクを次々に開くことができます。通常はページ内のリンクを開く(HIT-A-HINT)とリンクの選択モードが終了しますが、「continuous f-Mode (連続HIT-A-HINT)」(:GoFMode)では続けてリンクを選択できるため、リンクの多いページを閲覧する際に便利です。また、GoFModeコマンドのオプションを指定することで細かい挙動を変更できます。

  • GoFMode - Vichrome

Vimiumでは、リンクを選択するたびにショートカットキーを入力する必要がありました。Vichromeではpagecmdを組み合わせることによって、特定のページでのみ「continuous f-Mode」を有効化できるため、はてなブックマークのタグ一覧キーワード一覧のようなページでのみ、次々とリンクを開くことに専念することも可能になりました。

pagecmd http://b.hatena.ne.jp/t nmap F :GoFMode --newtab --continuous
pagecmd http://b.hatena.ne.jp/keyword nmap F :GoFMode --newtab --continuous

その他

Vimiumでは、たまにVimiumのショートカットキーが利かなくなることや、キー入力の取りこぼしが起こることがありました(他の拡張機能との相性もあるかもしれませんが)。Vichromeに乗り換えてから日が浅いため、断言はできませんが、今のところはそういったこともなくなったように感じます。

Vichromeは、まだ公開から間もないこともあり、精力的にアップデートが行われています。この記事を書いている最中にも二度のアップデートがあり、新機能が追加されました。今後の展開が楽しみな拡張機能と言えます。

Google Chromeでのキーボードによる快適なウェブブラウジングを求めている人、特にVim(Vi)使いな人であればなおさら、「Vichrome」はおすすめの拡張機能です。

コメント (0)

この記事へのコメントはまだありません。

コメントフォーム

トラックバック (2)

[…] Extension Vichromeにプラグイン機能を実装してみました - K2NR.ME Vim使いなら導入必須のGoogle Chrome拡張機能「Vichrome」 - (DxD)∞ < […]

Vichrome(chromeをVi風に)

まだ、試用中です。 F ってやってLinkの2文字を打つとそのSiteが開く ・・・とか、jk で、画面スクロールするとか、最高!うまくいっていない部分がある。 他のソフトと絡んでいる…

この記事のトラックバックURI
http://dxd8.com/archives/224/trackback/
この記事のURI
http://dxd8.com/archives/224/