FireFox + KeySnail でEmacsキーバインドなWebブラウジング環境を作った話
昨年末からEmacsを使い始めて以来5ヶ月ほど、すっかり洗脳完了し、今ではEmacsキーバインドがなければ生きていけない状態になっています。 普段Webブラウジングに使っていたGoogle Chromeでは良い方法がなさそうだったのですが、FireFoxのKeySnailという拡張が非常に優秀とのことだったので、この機会にお試し&移行してみることにしました。
バージョン
KeySnail
- Home · mooz/keysnail Wiki · GitHub
- FireFoxのキーバインドを色々カスタマイズできるプラグインです
- Emacs風キーバインドが標準搭載されています
- インストールするとFireFoxのカスタマイズからKeySnailボタンが表示できるようになるので、適当に参照できるようにしておきます
- 先に最低限、KeySnailの設定から設定ファイルのフォルダとプラグインのフォルダを指定しておきます。
KeySnail用プラグイン
HoK
e
で各種リンク上にショートカットを表示, 表示されたショートカットを入力するとリンク先に飛べます
Tanything
a
でタブ一覧を表示し、更に絞り込み検索が可能です
bmany
:b
でブックマーク一覧を表示し、更に絞り込み検索が可能:b
のショートカットが:
に衝突しているので、:
の方はキー設定から削除しておきます
KeySnailの各種キー設定
- Vim系のctrlやaltキー無しのキーバインドを削除します
C-x n
を「ウィンドウを開く」から「タブを開く」に変更します- 「ウィンドウを開く」は
C-x N
に退避します。
- 「ウィンドウを開く」は
C-q b
,C-q f
で「ひとつ左/右のタブへ」- Emacsで
C-q
に幾つか適当なユーザーコマンドを割り当てているので……- この辺りは好みに合わせてどうぞ
C-q
はデフォルトだと「特殊キー」の「エスケープキー」に割り当てられているので、それを適当に別のものに割り当てて逃しておきます
- Emacsで
C-_
がアンドゥになっているので、C-/
に変更します- これももしかしたら好みの問題かもしれません
C-q c
で「ページタイトルとURLをコピー」- 独自コマンドが欲しくなっても、既存の奴の切り貼りでできる程度なら簡単です*1
function (ev, arg) { let text = "[" + content.document.title + "](" + content.location.href + ")"; command.setClipboardText(text); command.pushKillRing(text); }
C-j
で改行(Editモード)
function (ev) { command.openLine(ev); command.nextLine(ev); }
参考
HoKの精度にもよりますが、ほとんどの場面でキーボード操作でブラウジングできるようになり、非常に快適です。*2 素晴らしいですね。
追記
- [2015-4-3] 「ページタイトルとURLをコピー」のコマンドを修正。setClipboardTextだけではキルリングに追加されてくれなかったため。
- [2015-9-17]
C-j
で改行の設定を追加