Macユーザーに捧ぐ!日常が変わるEmacs風ショートカット厳選まとめ
どうもこんにちは。最近運動サボりがちなこうじです。
どうにかしてサボれないかと色々調べていたら見つけたんですよ。その名も
Emacsキーバインド!(仮)
僕はいつもプログラムなど、文字を打つときはVimを使用しているのですが、例えば以下のように「どう考えてもVim使えねーじゃん」という場面があります。
ちょっと文字打ちたくて「テキストエディタ」を使用する時
Pagesを使用したり、Googleのドキュメントなどを使用する時
そんな時に、手軽にホームポジションを移動せずにキーを移動する便利な機能がこのMacの標準機能のショートカットなわけですよ!
Emacsとは?
エンジニアやプログラマー界隈では「Vim」と並んで超有名な、歴史あるテキストエディタの名前です。
Emacsの最大の特徴は、「マウスを一切使わず、キーボードのホームポジションから指を離さずにあらゆる操作ができる」こと。
この超絶便利な「Emacs」の操作の一部を、標準機能として持っているんです。
アプリやIMEによって挙動が異なる場合もありますが、基本的にはこのショートカットを使うために何かをインストールしなければいけないといった事はなく、標準として使用することが可能です。
EmacsキーバインドがMacで使える由来
「そもそも、なんでMacにEmacsの機能が入ってるの?」と思いますよね。実はこれ、Appleの歴史と深く関わっているんです。
かつてAppleを追い出...、離れた後、スティーブ・ジョブズが立ち上げた「NeXT」という会社がありました。そこで作られた「NeXTSTEP」というOSの文字入力システムに、Emacs風のキー操作が採用されたそうです。
その後、AppleがNeXTを買収し、そのOSをベースにして現在のmacOS(当時のMac OS X)が生まれました。
どんな人に刺さる?Emacsキーバインド
マウスや矢印キーに行ったり来たりする煩わしさから解放されるEmacsキーバインド。ぶっちゃけ、Macを使っている全員に必須の機能というわけではありません。
でも、以下のような人たちには間違いなく「ぶっ刺さる」はずです。
プログラマーなどの開発者
コーディング中の「ちょっとした修正」や「ちょっとした移動」。それでいちいちマウスや矢印キーに手を伸ばすのは、正直面倒なんですよね。
そんな時にCtrl+FもしくはCtrl+Bなどを使った、ちょちょいっと移動する方法を覚えておくと、慣れてしまえばとても楽ちんです!
そもそもVim操作を日常的に使っている人は、Vim操作の使えないテキストエディタや、ブラウザの検索フォームなど、そういうところでも活躍してくれるので、かなり日常動作が楽になると思います!
ブログや執筆などをしているライター系の人
ノリノリで文章をカタカタやっている時に、ちょっとした打ち間違いをしてしまった時。そんな時に、Deleteや←・→に手が伸びるのは、音ゲーやってる人はすぐホームポジションに戻せるかもしれませんが、やっぱりリズムを崩してしまう要因になるんじゃないかなぁと思います。
そんな時はスマートにCtrl+DもしくはCtrl+H!
「あ、やべ。」って時にこれで、カタカタっと修正すれば手の位置はそのまま、遠くにあるキーに手を伸ばさずとも修正できるのでとっても楽ちんです!
逆にこんな人は刺さらないかも
逆に「単調なデータ入力」だったり、メインが「入力」ではない人にはあまり刺さらないかもしれません。
NumbersやExcel、スプレッドシートなどの表計算などにも使えはしますが、あくまでも入力は補助的なものだと思いますし、基本的にはマウスに手が入っている印象があります。
Tabキーで入力項目を移動して、数字を打ってEnter、といった作業なら、これまで通りの操作の方が圧倒的に早いと思います。
また、表計算をガッツリやる方や、マウス操作が中心のデザイナーの方など、「連続して文字を打ち続ける」時間よりも「クリックや画面操作」の時間が長い方にとっては、無理して覚えるメリットは薄いかもしれません。
ホームポジションから手を離さないショートカット一覧
プログラミングやブログ執筆など、日々「意味のある文章」を打ち続けている皆さんにお届けしたい、世界が変わる(といいね!)、便利ショートカットを厳選して紹介します。
基本的にはすべて「Control(Ctrl)キーを押しながら」操作します。
矢印キーの移動
文字入力中、ちょっとだけカーソルを動かしたい時に超絶便利!
| キー | 効果 |
|---|---|
| Ctrl + F | 右に移動(Forward) |
| Ctrl + B | 左に移動(Backward) |
| Ctrl + P | 上に移動(Previous) |
| Ctrl + N | 下に移動(Next) |
削除系のショートカット
タイポ(打ち間違い)をした時、Deleteはホームポジションから遠すぎます。
| キー | 効果 |
|---|---|
| Ctrl + H | カーソルの前を消す(Delete。WindowsでいうとBackspace) |
| Ctrl + D | カーソルの後ろを消す(Forward Delete。WindowsでいうとDelete) |
特に Ctrl+H は、左手の小指でCtrl、右手のひとさし指でHを押せるので、慣れると息をするように文字を消せるようになります。
行の先頭・末尾へワープ(行頭・行末移動)
長い文章やコードを書いている時、「この行の最後に文字を足したい」「行の先頭から書き直したい」という時に大活躍します。
| キー | 効果 |
|---|---|
| Ctrl + A | 行頭へ一気に移動 |
| Ctrl + E | 行末へ一気に移動(End) |
一瞬で切り取って貼り付ける(切り取りとヤンク)
マウスでテキストを選択して、Cmd+Xで切り取って・・・という操作、実はもっとスマートにできます。
| キー | 効果 |
|---|---|
| Ctrl + K | カーソル位置から行末までを切り取り(Kill) |
| Ctrl + Y | 切り取ったテキストを貼り付け(Yank) |
例えば、Ctrl+Aで行頭へ移動からの、Ctrl+Kで切り取り。その後好きな場所でCtrl+Y。
これで、行の移動がホームポジション下で出来ちゃいます。
現在のカーソル位置から後ろを切り取りなので、限定的ではありますが、慣れると使い道はありそうです!
説明が下手くそなので実演しました!
こんなところでも活躍!Emacsキーバインド活用例
基本的なショートカットは上記でご紹介した通りですが、
と思っているあなた。
思ったでしょ?思ってましたよね?
思ってた事にしてください!
実はこのキーバインド、要はショートカットなので、macOSの至る所で使える「万能の移動手段」なんです。
特に日常的な操作で劇的な効果を発揮する場面を2つ紹介します。
日本語入力時の「変換候補」の選択
日本語を打ってスペースキーで変換した時、候補までの移動で↓ ↑を押したりしてませんか?
こんな時こそ、Ctrl+N(下移動)と、 Ctrl+P(上移動)が使えます!
ホームポジションから手を離さずに、変換候補を上下にスイスイ移動できます。
これは慣れると結構使い勝手がいいんですよね。
Spotlight検索(Cmd + Space)の候補移動
Macで「使ってない人いるの?」っていうくらい超絶超便利機能「Spotlight」。
アプリを立ち上げたり、ファイルを検索したりと、キーボードだけで操作できるのが魅力ですが・・・。検索結果から目当てのアプリを選ぶ時、結局「矢印キー」を押していませんか?
ここでも活躍!Ctrl+N(下移動)と、 Ctrl+P(上移動)の出番です!
検索ワードを打ち込んだ直後に、そのまま上下移動ショートカットでサッと下の候補を選択してEnterをターンッ!
これはね。マジでね。やばいよ(語彙力崩壊)
Vimなどでインサート中にちょっとした移動
僕の環境ではCusror(VS Code)では問題なくEmacs操作できたんですが、IntelliJ IDEAでは一部キーが怪しかったです。なので、IDEや設定も影響するかもしれません。
Vimでインサートモードの時にちょっと移動したい。そんな時は、
一度
ESCで戻ってから移動、再度インサートモード単純に矢印キーで移動
このどちらかだと思います。
ですが、こんな時にも役に立つのが移動系のショートカット!
インサート中だとしても問題なくCtrl+Fなどで移動ができます!
ESCで戻るのも面倒。矢印キーへ手を伸ばすのも面倒。そんな時にこのショートカットがホームポジションを崩さずに手軽に移動が可能になります。
まとめ
なんかずっと入力をしていると、ちょっとキーボードを離れるっていう動作がストレスに感じてくることが多くなりました。
基本的には「キーボードを見て指を動かす」というのをできればしたくないので、ノールックで色々操作するには、やはり「ホームポジションから指を動かしたくない!」と思ってしまうんです。
そういうわけで、Vimに慣れようと思った経緯があったため、「Vim操作が出来ない場所でも同じようなコトができないか?」と思っていたら思わぬ標準機能がありました(笑)
なるべくホームポジションから移動したくない!
慣れれば化けそうな効率化はどんどんやってみたい!
カッコ良さそう!
と思った人はぜひ試してみてください!