ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

ブラウザでももっとVimVimしたい!

Vim Advent Calendar 16日目

みなさんこんにちは。OperaDvorakも大好きですが、Vimも大好きなゆずえもんです。
大好きなVimを大好きなブラウザでも使いたい!!って時、ありますよね?
今日はそんなVimmerの皆さんに各ブラウザでのVimライクな利用方法を纏めてみました。
主に「ブラウザ操作のVim化」、「textareaのVim化」に焦点を合わせてエントリを書きます。

Firefox

Vimperator

言わずと知れた有名なアドオン。Vimperator :: Add-ons for Firefox
移動コマンドだけでなく、:set 〜などとコマンドも打てるのが特徴です。
設定ファイルとして .vimperatorrc があるのもVimらしくていいですね。

It's All Text

textareaを外部エディタで編集できるアドオンです。 It's All Text! :: Add-ons for Firefox
インストールするとtextareaの右下*1に編集ボタンが追加されます。

外部エディタとしてgVimを設定すれば、簡単にgVimでtextareaの内容を編集できるようになります。


Google Chrome

Vimium

Chrome Web Store - Vimium
Vimperator程のカスタマイズ性はないのですが、ページ移動・タブ移動などの基本的な操作はひと通りカバーしています。
デフォルトのキーボードショートカットと競合する為、以下のキーバインドはデフォルトで無効になっているので適宜有効にするといいでしょう。

c-d scrollPageDown
c-u scrollPageUp
c-f scrollFullPageDown
c-b scrollFullPageUp

もちろん、以下のように環境設定画面から自分でmappingをカスタマイズすることも可能です。

詳しいキーバインドや設定方法はこちらに載っています。
Chrome Web Store - Vimium

Edit with Emacs

元々はEmacs用なのですが、Vimに限らず他のエディタで開くことも可能です。
Chrome Web Store - Edit with Emacs

こちらもIt's All Textと同じようなボタンから外部エディタを起動します。

ここではgithubにあるedit-serverを利用します。
gfxmonk/edit-server · GitHub

このedit-serverはデフォルトでgVimを開く設定になっているのでそのまま利用することができます。

git clone git://github.com/gfxmonk/edit-server.git ~/github

MacVim(Macvim-KaoriYa)と併用する場合にはこんな感じに引数を与えて実行するといいでしょう。

~/github/edit-server/edit-server /Applications/MacVim.app/Contents/MacOS/MacVim

:wで保存すると、一瞬textareaが黄色くなり同期が行われます。

参考: Blueman Dancing

Opera

Extensionなど要らん!!

Operaではデフォルトでキーボードの操作をほぼ自由に編集できるのでkeyboard.iniを編集すれば簡単にVim化できます。
流石我らがOpera
こちらのアクションコマンド一覧を眺めながら、好きに設定するといいでしょう。アクション一覧 - Opera Wiki


textareaもkeyboard.iniでOK!

Operaではテキスト入力中のみ有効なキーバインドの設定もデフォルトで変更可能です。
OperaのExtensionにEdit with Emacsのようなものが出れば、いずれはgVimによる編集も可能となるかも知れません。

まとめ

これでVimライクなブラウジングを好きなブラウザでできると思います*2
それでは皆さんよいVimライフを!!

*1:変更可能

*2:IEは...