Macのキーバインドをいじる

TextMateはすてき過ぎるに書いたように
TextMateには便利なショートカットが満載だ
でも足りないものや変えたいものもある
そんなときはMacキーバインドをいじろう


~/Library/KeyBindings/フォルダに
DefaultKeyBinding.dict
というファイルを作ってここで定義する
そうすればすべてのCocoaアプリで機能する


{ /* home */
"\UF729" = "moveToBeginningOfLine:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";

/* end */
"\UF72B" = "moveToEndOfLine:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";

/* page up/down */
"\UF72C" = "pageUp:";
"\UF72D" = "pageDown:";
"^V" = "pageUp:";

/* move */
"~f" = "moveWordForward:";
"~b" = "moveWordBackward:";
"^h" = "deleteBackward:";

"^F" = "moveForwardAndModifySelection:";
"^B" = "moveBackwardAndModifySelection:";
"^~f" = "moveWordForwardAndModifySelection:";
"^~b" = "moveWordBackwardAndModifySelection:";
}

僕はWindowsからの移行組なので
Home, end, pageup, pagedownなどをwindows仕様に
それからTextMateになかった
Ctrl + Shift + V : 一頁もどる
Shift + F : 一単語進む
Shift + B : 一単語もどる
Ctrl + h : 前一文字削除
Ctrl + Shift + F : 範囲選択しつつ一文字進む
Ctrl + Shift + B : 範囲選択しつつ一文字もどる
Ctrl + Alt + F : 範囲選択しつつ一単語進む
Ctrl + Alt + B : 範囲選択しつつ一単語もどる
を定義した


書式は"key" = "action:";だ
actionのあとのコロンを忘れないように


以下のサイトが本当に参考になる
emacsのようなマルチバインドもできるみたいだね

http://www.lsmason.com/articles/macosxkeybindings.html
Cocoa Text System
Key bindings for switchers
http://journal.mycom.co.jp/column/osx/103/

(関連記事)
オートペアリングをキーバインドしようよ
グリフをキーバインドしようよ