電子竹林:Blog2

Tech関係、はてなダイアリーから移転済み...

Macのキーバインド、テキストエディットを使う

Jedit X Rev.1のまま使っていたけど、どうも動作が遅い時があって(原因不明)、Rev.2にするよりも純正テキストエディットに切り替えようと考えた。Jeditを使っている理由は主にダイヤモンドカーソル。で、純正アプリケーション「テキストエディット」に移行を考える。

NSTextViewはEmacsのサブセットのキーバインドEmacsはある程度使えるので問題ないが、結局はDefaultKeyBinding.dictを変えることにする。Macらしく右手はマウス、左手でショートカットにしたいので。

/System/Library/Frameworks/AppKit.framework/Versions/C/Resources/StandardKeyBinding.dict

↑から、StandardKeyBinding.dictを↓にコピー(ディレクトリKeyBindingsは作る)

~/Library/KeyBindings/DefaultKeyBinding.dict

Property List Editorで変更していく。WordStarに似せて主なとこは↓。

^s : moveBackward:

^d : moveForward:

^e : moveUp:

^x : moveDown:

^f : moveToEndOfLine:

^a : moveToBeginningOfLine:

^r : pageUp:

^c : pageDown:

^m : insertNewline:

^i : insertTab:

^h : deleteBackward:

^g : deleteForward:

^t : deleteWordForward:

^y : deleteToEndOfParagraph:

あとはシフトで"..AndModifySelection:"などにしている。Appleの正式なキーバインドの資料は見つからなかったので↓を参考にした。

http://www.hcs.harvard.edu/~jrus/Site/System%20Bindings.html

ところでなぜか、^qに何を入れても効かなかった、何かコンフリクト?。

おまけで、大きなカーソル移動は左手だけじゃ出来ないようにして↓も加える

^p : moveToBeginningOfDocument:

^l :moveToEndOfDocument:

Property List Editorはコメント残せないので、ちょっと不便。

結果、DefaultKeyBinding.dictの変更で

1. テキストエディット、Pagesではちゃんと反映された

2. Mailでは^r、^cが効かない以外はOK

3. Xcodeのエディタでは、ほぼDefaultKeyBinding.dictが反映されるようだが、さらにXcode環境設定/キーバインド/テキストキーバインドで変更しないと駄目だった。(^r,^xなど)

あとはシステム環境設定/キーボードとマウス/キーボードショートカットで多少カスタマイズしているけど、Keyboard Maestroみたいにバリバリに使えないのはちょっと寂しい。