macのキーバインド

他の人がどんなんなのか気になる。



自分の場合、基本は神ソフトのKeyRemap4MacBookEmacsモードをon 。( Emac

システム環境設定 ->キーボードとマウス


Emacsキーバインドになれてる人だと)ターミナルとSafariのタブ切り替えが楽になります。
(ちなみにTigerだった頃は上記のキーバインドをVirtueDesktopにあててバキバキ画面を切り替えて使ってました。)

Quicksilver

よく使うアプリはワンストロークでopenするようにしてます。(少ない
command + tab とか Witchだとアイコンやタイトルを見て目的のアプリを探すのがちょっとだけオーバーヘッドになります。常時使うアプリはQuicksilverでopenできるようにしておくと切り替えが速いです。(すでに開いているアプリをQuicksilverでopenするとそのアプリにフォーカスを当ててくれる)。会社で使ってるmacメーラーとかIRCとかも登録してみたんですけど、頻繁に見てしまって集中できなくなるのでやめました。

F1,F2のapplescript以前自作したウィンドウサイズの切り替えスクリプトです。(デュアルディスプレイだとちょっと怪しい動きをするんですが) Leopardでも動くので重宝してます。

QuickSilverの呼び出しは ctrl + 英数にしていたんですけど、KeyRemap4MacBookで英数をmeta(alt? option ?) にしたら動かなくなったので、meta + return にして試しています。


(正直 いろいろ登録しても何がどこにバインドしているか忘れるので、登録数が少ない方が自分には合ってるみたいです)


~/Library/KeyBindings/DefaultKeyBinding.dict

~/Library/KeyBindings/DefaultKeyBinding.dictに下のXMLを書いてます。どこで拾ってきたものか忘れてしまいました。Cocoaアプリのテキスト入力欄(NSTextなんとかクラス)のキーバインドをいじれます。ちょっとだけEmacsぽくなります。これ書いておくとTextEditが快適になります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>^ </key>
	<string>setMark:</string>
	<key>^_</key>
	<string>undo:</string>
        <key>^g</key>
	<string>abort:</string>
        <key>^s</key>
        <string>ISIM_incrementalSearch:</string>
        <key>^r</key>
        <string>ISIM_reverseIncrementalSearch:</string>
	<key>^i</key>
	<string>insertTab:</string>
	<key>^m</key>
	<string>insertNewline:</string>
	<key>^u</key>
	<string>deleteToBeginningOfParagraph:</string>
	<key>^w</key>
	<string>deleteWordBackward:</string>
        <key>^o</key>
	<string>complete:</string>
        <key>^r</key>
	<string>selectToMark:</string>
	<key>^x</key>
	<dict>
		<key>[</key>
		<string>moveToBeginningOfDocument:</string>
		<key>]</key>
		<string>moveToEndOfDocument:</string>
		<key>^s</key>
		<string>saveDocument:</string>
		<key>^x</key>
		<string>swapWithMark:</string>
                <key>^k</key>
	        <string>performClose:</string>
	</dict>
	<key>~b</key>
	<string>moveWordBackward:</string>
	<key>~d</key>
	<string>deleteWordForward:</string>
	<key>~f</key>
	<string>moveWordForward:</string>
	<key>~p</key>
	<string>pageUp:</string>
	<key>~n</key>
	<string>pageDown:</string>

</dict>
</plist>

追記:

XMLには下記のリファレンスに載っているメソッド(の一部)を登録できるっぽい。

http://www.oomori.com/cocoafw/ApplicationKit/NSResponder/index.html