2006年 4月 17日 (月)

FireFox のキーバインドを Emacs 風に

数日前に FireFox アップデート (1.5.0.2) のダイアログが表示されて [後で] ボタンをクリックして *延命* していたのだが,“区切り”がついたのでアップデートをする。
何だか全自動でアップデートは完了。したのだが,カーソル移動系のキーバインドが default に戻る。そう言えばキーバインド変更メモを残していなかったので,ここに記す。
参照 URL: http://bloghome.lovepeers.org/daymemo2/?date=20060314
以下,$MOZILLA_HOME を,Firefox.app/Contents/MacOS ,$WORKING_DIRECTORY は適当なディレクトリとする。
cd $WORKING_DIRECTORY
unzip $MOZILLA_HOME/chrome/toolkit.jar

content ディレクトリが展開される。
content/global/platformHTMLBindings.xml を編集する。
Add to the <handlers> section of <binding id="inputFields">

<handler event="keypress" key="a" modifiers="control" command="cmd_beginLine"/>
<handler event="keypress" key="e" modifiers="control" command="cmd_endLine"/>
<handler event="keypress" key="b" modifiers="control" command="cmd_charPrevious"/>
<handler event="keypress" key="f" modifiers="control" command="cmd_charNext"/>
<handler event="keypress" key="h" modifiers="control" command="cmd_deleteCharBackward"/>
<handler event="keypress" key="d" modifiers="control" command="cmd_deleteCharForward"/>
<handler event="keypress" key="w" modifiers="control" command="cmd_deleteWordBackward"/>
<handler event="keypress" key="u" modifiers="control" command="cmd_deleteToBeginningOfLine"/>
<handler event="keypress" key="k" modifiers="control" command="cmd_deleteToEndOfLine"/>

あ〜んど,
Add to the <handlers> section of <binding id="textAreas"> and <binding id="editor">:

<handler event="keypress" key="a" modifiers="control" command="cmd_beginLine"/>
<handler event="keypress" key="e" modifiers="control" command="cmd_endLine"/>
<handler event="keypress" id="key_left" key="b" modifiers="control" command="cmd_charPrevious"/>
<handler event="keypress" id="key_right" key="f" modifiers="control" command="cmd_charNext"/>
<handler event="keypress" id="key_delback" key="h" modifiers="control" command="cmd_deleteCharBackward"/>
<handler event="keypress" id="key_delforw" key="d" modifiers="control" command="cmd_deleteCharForward"/>
<handler event="keypress" id="key_delwback" key="w" modifiers="control" command="cmd_deleteWordBackward"/>
<handler event="keypress" id="key_del_bol" key="u" modifiers="control" command="cmd_deleteToBeginningOfLine"/>
<handler event="keypress" id="key_del_eol" key="k" modifiers="control" command="cmd_deleteToEndOfLine"/>

<handler event="keypress" id="key_linedown" key="n" modifiers="control" command="cmd_lineNext"/>
<handler event="keypress" id="key_lineup" key="p" modifiers="control" command="cmd_linePrevious"/>

編集した後は,
zip -r toolkit.jar content

で jar に固め直して…,元の toolkit.jar と入れ換える。
mv $MOZILLA_HOME/chrome/toolkit.jar $MOZILLA_HOME/chrome/toolkit.jar.bak
cp -p $WORKING_DIRECTORY/toolkit.jar $MOZILLA_HOME/chrome/

// 念の為に元のファイルを残しておく。
 
コレでメデタク Emacs キーバインドの FireFox になる。
 
こんなメンドーな事をするくらいなら Cocoa アプリ (は普通に Emacs な移動ができる) な Safari で,え〜やん…と,思いつつも Google Toolbar が“便利”なので FireFox を使い続けるのであった…。
 
Dashboard Widget のデバッグを考えると Safari がいいんだろうし,Safari のレンダリングはやっぱりなかなか速かったんだ…と,見直している今日この頃…。
 
Google Toolbar for Safari 熱望!
QRcode Tweet

このページの半分はフィクションです。もし同一の名称があった場合も,実在の人物・団体・事件などとはあんまり関係ありません。
CAPTCHA

[月インデックス] [単語インデックス] [コメントインデックス] [画像インデックス]
[TAKEchonNET] → [大いなる疲労の告知]
Donate us![TAKEchonNET]