[ ホーム | お知らせ | ソフトウェア | 覚え書き | メール | ->英語 ] |
テンでテンてこまい
- OS Xの環境設定 -[ トップページに戻る ]
システム標準のキーバインドは次のファイルにて定義されている。
/System/Library/Frameworks/AppKit.framework/Versions/C/Resources/StandardKeyBinding.dict DefaultKeyBinding.dict
~/Library/KeyBindings/DefaultKeyBinding.dict
キーバインドの設定ファイルの形式にはXML形式とASCII形式がある (StandardKeyBinding.dictはXML形式で記述されている)。どちらの形式を使ってもよい。
実際のキーバインドの変更方法は次のとおり。
(標準のキーバインドを流用する場合)
(1) カスタマイズ用の設定ファイルを準備する。
$ mkdir ~/Library/KeyBindings $ cd ~/Library/KeyBindings $ cp /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/StandardKeyBinding.dict DefaultKeyBinding.dict
(2)設定ファイルの内容を編集する。
$ open ~/Library/KeyBindings/DefaultKeyBinding.dict
先ほど準備したDefaultKeyBinding.dictをPropertyListEditoで編集する。
例えば、CTRL+Mで改行するように変更する場合は、つぎの内容で新しい Sibling を追加する。
key | ^m |
class | String |
value |
insertNewline: |
このように変更すると、TextEditなどでCTRL+Mで改行するようになる。
ただしXML形式を使う場合、特殊キーの指定方法やコメントが指定可能か不明なので扱いづらい。
(新たにASCII形式で設定ファイルを作る場合)
例えば、次の内容で ~/Library/KeyBindings/DefaultKeyBinding.dictを作成すればよい。
{ "^m"="insertNewlineIgnoringFieldEditor:"; "^i"="insertTab:"; "^z"="pageUp:"; "^v"="pageDown:"; "~^p"="scrollLineUp:"; /* alt+cntl+p */ "~^n"="scrollLineDown:"; /* alt+cntl+n */ "^\UF700"="pageUp:"; /* cntl+up */ "^\UF701"="pageDown:"; /* cntl+down */ "^\UF702"="moveToBeginningOfLine:"; /* cntl+left */ "^\UF703"="moveToEndOfLine:"; /* cntl+right */{ }
詳しい書式については次のURLが参考になる。
ProjectBuilderWO.appのキーバインドを変更する方法はつぎのとおり。
(1) カスタマイズ用の設定ファイルを準備する。
$ mkdir ~/Library/KeyBindings $ cd ~/Library/KeyBindings $ cp /Developer/Applications/ProjectBuilderWO.app/Contents/Resources/KeyBindings.dict PBKeyBinding.dict
(2) テキストエディタで設定ファイルの内容を変更する。
例えば、CTRL+Mで改行するように変更する場合、元からあるCTRL+Mの設定をつぎのようにコメントアウトする。
/* "^m" = "isearchMethodForward:";*/
続いてつぎの1行を追加する。
"^m" = "insertNewline:";
カスタマイズした設定ファイルのパス(~/Library/KeyBindings/PBKeyBinding.dict)と記述方法はProjectBuilderWOと同様。
ただしProjectBuilderの場合、CTRL+hに機能を割り当てられない(他は未確認)。ナゼだろう?
設定ファイルの依存関係はつぎのとおり。
/etc | /usr/share/init/tcsh | ~/Library/init/tcsh | ||
csh.cshrc | → | rc (*) | → | rc.mine |
csh.login | → | login | → | login.mine |
csh.logout | → | logout | → | logout.mine |
*→ | aliases | → | aliases.mine | |
*→ | completions | → | completions.mine | |
*→ | environment | → | environment.mine | |
*→ | tcsh.default |