Mac OS Xで使っているキーバインド
機能 | キーバインド | Emacs | DefaultKeyBinding.dict | Butlerでの定義 |
---|---|---|---|---|
1文字前に移動 | C-j | backward-char | moveBackward: | ← |
1文字後ろに移動 | C-; | forward-char | moveForward: | → |
1行前に移動 | C-l | previous-line | moveUp: | ↑ |
1行後ろに移動 | C-k | next-line | moveDown: | ↓ |
1単語前に移動 | C-, | forward-word | moveWordBackward: | A-← |
1単語後ろに移動 | C-. | backward-word | moveWordForward: | A-← |
行頭に移動 | C-a | beginning-of-line | moveToBeginningOfParagraph: | M-← |
行末に移動 | C-e | end-of-line | moveToEndOfParagraph: | M-→ |
1画面前に移動 | C-b | scroll-up | pageUp: | A-PageUp |
1画面後ろに移動 | C-v | scroll-down | pageDown: | A-PageDown |
文書の先頭に移動 | C-M-, | beginning-of-buffer | moveToBeginningOfDocument: | M-↑ |
文書の末尾に移動 | C-M-. | end-of-buffer | moveToEndOfDocument: | M-↓ |
1文字前に選択移動 | C-S-j | moveBackwardAndModifySelection: | S-← | |
1文字後ろに選択移動 | C-S-; | moveForwardAndModifySelection: | S-→ | |
1行前に選択移動 | C-S-l | moveUpAndModifySelection: | S-↑ | |
1行後ろに選択移動 | C-S-k | moveDownAndModifySelection: | S-↑ | |
1単語前に選択移動 | C-S-, | A-S-← | ||
1単語後ろに選択移動 | C-S-. | A-S-→ | ||
行頭まで選択移動 | C-S-a | M-S-← | ||
行末まで選択移動 | C-S-e | M-S-→ | ||
1画面前に移動 | C-S-b | S-PageUp | ||
1画面後ろに移動 | C-S-v | S-PageDown | ||
文書の先頭まで選択移動 | C-M-S-, | M-S-↑ | ||
文書の末尾まで選択移動 | C-M-S-. | M-S-↓ | ||
前の文字を削除 | C-h | delete-backward-char | deleteBackward: | BS |
後ろの文字を削除 | C-d | delete-char | deleteForward: | DEL |
前の単語を削除 | C-M-h | backward-killword | deleteWordBackward: | A-BS |
後ろの単語を削除 | C-M-d | backward-killword | deleteWordForward: | A-DEL |
行末まで削除 | C-k | kill-line | deleteToEndOfParagraph: | M-S-→ BS |
行頭まで削除 | C-M-k | M-0 C-k | deleteToBeginningOfParagraph: | M-S-← BS |
ヤンク | C-i | yank | yank: | |
クリップボード履歴 | C-S-i | yank-pop | ||
改行 | C-m | newline | insertNewline: | RET |
前方に1つ空行を追加 | C-o | open-line | insertNewlineIgnoringFieldEditor: | RET ↑ M-→ |
前後の文字を入れ替え | C-t | transpose-chars | transpose: | → ← S-← M-x → M-v |
前後の単語を入れ替え | C-M-t | transpose-words | A-← A-→ A-→ A-← A-S-← M-x A-→ SPC C-v A-S-← A-S-→ M-x A-← M-v A-← A-→ DEL A-→ | |
前後の単語を入れ替え(Firefox) | C-M-t | transpose-words | A-← A-→ A-→ A-← BS C-x A-→ SPC C-v | |
前後の行を入れ替え | C-S-t | transpose-lines | M-← M-s-→ M-x DEL C-← M-v RET | |
単語を選択 | C-S-w | selectWord: | A-→ A-S-← | |
行を選択 | C-S-p | selectParagraph: | M-→ M-S-← | |
単語を大文字に | C-M-u | upcase-word | uppercaseWord: | |
単語を小文字に | C-M-l | downcase-word | lowercaseWord: | |
単語をキャピタライズ | C-M-c | capitalize-word | capitalizeWord: | |
マークを設定 | C-SPC | set-mark-command | setMark: | |
マークを入れ替え | C-x C-x | exchange-point-and-mark | swapWithMark: |
略号の意味など
M- | Command + |
C- | Control + |
A- | Option + |
S- | Shift+ |
SPC | スペースバー |
RET | Return |
BS | Backspace |
DEL | Foward Delete |
設定方法
Butler では「スマートアイテム:キーストローク」を使って定義する。
DefaultKeyBinding.dict は Cocoaアプリ(正確にはNSTextViewを使用するアプリ)でのみ使用可能。
~/Library/KeyBindings/DefaultKeyBinding.dict というテキストファイルを作ってると設定できる。(要再ログイン)
C-x C-f のようなマルチアクションも設定可能となっている。
参考:Translations/Mac OS X Key Bindings - Log By Kenji Akeno
追記(2009-04-25)
画面単位の移動で、PageUp / PageDownだと画面は移動するもののカーソルは移動しないらしく、
A-PageUp / A-PageDownなら問題ないということがわかったので書き換えた。
(ただしWebブラウザのスクロールではPageUp / PageDownでなければならない)