オートペアリングをキーバインドしようよ

Macのキーバインドをいじるの続きだよ


~/Library/KeyBindings/フォルダの
DefaultKeyBinding.dict の書式は基本的に
"key" = "action:"; だけど
"key" = ("action1:","action2:","action3",...); とリストにすると
1つのキー操作に対して複数のアクションを実行できるんだ


で僕は、TextMateでできるようなAuto-Paringの機能をバインドしてみたよ


"(" = ( "insertText:", "()",
"moveBackward:"
);
"[" = ( "insertText:", "[]",
"moveBackward:"
);
"{" = ( "insertText:", "{}",
"moveBackward:"
);
全角カッコにも対応できればいいんだけど
やり方が分からないんだ。もう少し勉強してみるよ

(追記)TextMateのparingとコンフリクトしているようなので、上記設定は止めました。
(追記:2007/3/19) 代りに、TextMateの⌃⇧w(ワードセレクト)、⌃⇧k(ラインキル)、⌃⇧d(ラインデュプリケート)を定義しました。


"^w" = "selectWord:";
"^K" = ( "moveToBeginningOfLine:",
"deleteToEndOfLine:"
);
"^D" = ( "moveToBeginningOfLine:",
"deleteToEndOfLine:",
"yank:",
"insertNewline:",
"yank:"
);