MacユーザーならEmacsキーバインドをマスターしよう
タッチタイピングはパソコンの基本操作のひとつとして多くの方が習熟していることと思います。
タッチタイピングはホームポジションに両手を置くことが重要ですが、テキストを編集するとなると、キャレット(文字カーソル/挿入点)を移動させたり、テキストを削除したりで、どうしても、右手が大きく外れた場所に動いてしまいがちです。いったんホームポジションが崩れてしまうと、ホームポジションに手を戻すところからやり直すことになり、テキスト入力の効率が落ちてしまいます。
そこで、Macユーザーの方におすすめしたいのがEmacsキーバインドの習得です。Emacsキーバインドをマスターすると、上述のホームポジションが大きく崩れてしまうような操作を、両手をホームポジションに置いたまま実行できるようになります。
本記事ではMacで使えるEmacsキーバインドについて説明します。
Emacsキーバインドとは
Emacsは古くから存在し今でもプログラマ界隈でよく使用されているテキストエディタです。拡張可能な設計と柔軟なカスタマイズ性を持ち、ファイル操作やウェブ閲覧、プログラムの実行など、コンピュータ操作のほとんどが可能な高い機能性がウリです。
キャレット(文字カーソル/挿入点)の移動や選択範囲の指定、コピー/カット/ペーストなどを実行できるキーバインド(キーボードショートカット)がはじめから定義されている点も秀逸で、ホームポジションから手を離すことなく操作を実行できるのが特徴です。Emacsで使われているキーバインドを一般に「Emacsキーバインド」などと呼びます。
Emacsキーバインドをマスターすると、テキスト編集のほとんどの操作をホームポジションから手を離すことなく実行できるようになります。Emacsキーバインドによる操作に慣れると、矢印キーやマウスを使ってキャレットを移動させるなんて考えられなくなるほどです。
MacでEmacsキーバインドを使う
EmacsはUNIX/Linux系のユーザーを中心に広く普及しています。
MacのOS XもUNIXの系譜のひとつであり、あまりアピールされていませんが、OS Xのテキスト編集環境にEmacsキーバインドが部分的に取り入れられています。OS Xでテキストを入力する大抵の場面でEmacsキーバインドが最初から使用可能です。
Emacsキーバインドでは「Control」キーを多用します。
MacのJISキーボードの場合、左Controlキーは「A」キーの左にあり、左手小指を少しずらすだけで押下できるので、Emacsキーバインドが使いやすい利点があります(USキーボードでもシステム環境設定からControlキーの入れ替えが可能です)。
また、OSの標準的なキーボードショートカットとEmacsキーバインドが衝突しない点も、MacでEmacsキーバインドを使用する上での利点です(Windows OSでは標準的なキーボードショートカットとしてControlキーを多用するので、同じControlキーを使用するEmacsキーバインドと衝突する場合がある)。
キャレットの移動
最初に覚えるべきキーバインドは、キャレット(文字カーソル/挿入点)の移動です。
キーバインド | 動作 | 意味(覚え方) |
---|---|---|
Control-f | キャレットを右へ移動 | Forward Character(頭文字) |
Control-b | キャレットを左へ移動 | Backward Character(頭文字) |
Control-p | キャレットを上の行へ移動 | Previous Line(頭文字) |
Control-n | キャレットを下の行へ移動 | Next Line(頭文字) |
Control-a | キャレットを行の先頭へ移動 | Beginning of Line(行の先頭→アルファベットの先頭という連想) |
Control-e | キャレットを行の末尾へ移動 | End of Line(頭文字) |
Control-v | キャレットを1画面分下へ移動 | Scroll Up(下向き矢印→「v」という連想) |
Control-l | キャレットのある行をスクロール位置の真ん中にする | Recenter(-) |
まずはControl-f/b/p/n/a/eの6種を覚えましょう。キャレットの移動だけでも習得すると、テキスト編集の効率が格段にアップします。
テキスト編集
次にテキストの編集で使うキーバインドです。
キーバインド | 動作 | 意味(覚え方) |
---|---|---|
Control-h | キャレットの左の文字を削除 | Delete Backward Character(-) |
Control-d | キャレットの右の文字を削除 | Delete Character(頭文字) |
Control-k | 現在のキャレット位置から行末尾までを切り取り | Kill Line(頭文字) |
Control-y | Control-kで切り取った文字列を貼り付け | Yank(頭文字) |
Control-o | 改行を挿入(キャレット位置はそのまま) | Open Line(頭文字) |
Control-t | キャレットの前後の文字を入れ替え | Transpose Characters(頭文字) |
まずはControl-h/dの削除を習得しましょう。通常は右手がホームポジションから外れてしまいがちな削除操作がホームポジションのまま実行できるようになります。
「Kill 〜」と「Yank」は、Emacsの用語で切り取り(カット)と貼り付け(ペースト)のことです。これらは、OS Xの通常のクリップボードとは別に管理されることに注意してください。通常のクリップボードを介したコピー/カットの内容をControl-yで貼り付けられませんし、Control-kで切り取った内容をクリップボードを介したペーストはできません。
おわりに
以上がMacで使えるEmacsキーバインドの紹介です。
Emacsキーバインドをマスターするとテキスト編集の効率が格段にアップするので、ぜひ練習してみてください。