Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

意外と知らない、[Ctrl]キーを使ったMacのショートカット。macOSに残るNeXTの1ピース – Mac活用“ワンランクアップ”講座 第23回

著者: 海上忍

本ページはアフィリエイト広告を利用しています

意外と知らない、[Ctrl]キーを使ったMacのショートカット。macOSに残るNeXTの1ピース – Mac活用“ワンランクアップ”講座 第23回

[command]ではなく[Ctrl]を利用するショートカットキー

「メモ」アプリで作業しているとき、キーボードだけでカーソルを行末へ移動するときどうしていますか? キー操作に慣れたMacユーザであれば、そりゃ[command]+[→]でしょ、と答えるかもしれません。では同じくキーボードだけでテキストをカットするときは? カット&ペーストは操作の基本、すぐに[command]+[x]を思い浮かべるはずです。

それらの操作方法は、OS標準のキーバインドとして定義されており、アプリの[編集]メニューで確認できます。[command]キーを軸としたキーバインド体系は、メモアプリに限らずPagesやKeynoteなどmacOSネイティブのアプリに共通した“お約束”ですから、初心者じゃあるまいし何をいまさら、と思われるかもしれません。

しかし、macOSには別系統のキーバインドが存在します。カーソルキーを行末へ移動するなら[Ctrl]+[e]、テキストをカットするなら行頭で[Ctrl]+[k]、という[Ctrl]キーを軸としたキーバインド体系も用意されているのです。PagesやKeynoteでもOK、サードパーティ製を含む多くのアプリで利用できます。アプリの[編集]メニューには表示されていないのに… どういうことでしょう?

メモアプリの編集メニュー。どこにも[Ctrl]キーを軸としたキーバインドは表示されていません。

[Ctrl]を使うキーバインドの起源はEmacs

これらの[Ctrl]キーを軸にしたキーバインドは、「Emacs(イーマックス)」というUNIXで普及したテキストエディタに由来します。Emacs Lispというプログラミング言語の処理系を内包するなど、テキストエディタと呼ぶには違和感があるほど多機能で、多くのUNIXユーザに支持されてきました。

macOSでは、歴史的な経緯からそのEmacsの主要なキーバインドをサポートしています。カーソルを行頭へ移動するなら[Ctrl]+[a]、カーソル位置の文字を削除するなら[Ctrl]+[d]など、Emacsの編集スタイルをそのままMacで利用できるのです(下表)。

キー動作
Ctrl+aカーソルを行頭へ移動
Ctrl+eカーソルを行末へ移動
Ctrl+fカーソルを1文字右へ移動
Ctrl+bカーソルを1文字左へ移動
Ctrl+pカーソルを1行上へ移動
Ctrl+nカーソルを1行下へ移動
Ctrl+h1文字削除(Backspace)
Ctrl+dカーソル位置の文字を削除
Ctrl+kカーソル位置から行末まで削除
Ctrl+tカーソル前後の文字を入れ替え
Ctrl+yCtrl-kで削除した内容を貼り付け
Ctrl+oカーソルの位置を変えずに1行挿入
[Ctrl]を軸としたキーバインド。

カーソル前後の文字を入れ替える[Ctrl]+[t]のように、[command]キーを軸としたキーバインド体系には存在しないものもありますから、覚えておくと便利です。

特に利用価値が高いキーバインドは、[Ctrl]+[k](カーソル位置から行末まで削除)と[Ctrl]+[y]([Ctrl]+[k]で削除した内容を貼り付け)です。削除したテキストはクリップボードに格納されるわけではないため、基本的には同一アプリ上でしか利用できませんが(他アプリへのペーストは原則不可)、テキストを行/段落単位でカット&ペーストする作業が格段にスピードアップします。[Ctrl]+[k]の直後に[Ctrl]+[y]でペーストすれば、コピー代わりに使えるところもメリットです。

ただし、すべてのアプリで利用できるわけではありません。メモやメール、SafariといったmacOSに標準装備のアプリでは利用できますが、Webブラウザ上で動作するアプリ(Google スプレッドシートなどのWebアプリ)、Microsoft Wordなど一部のサードパーティ製アプリではサポートされません。それには、明確な理由があります。

macOS Tahoe上で動作するEmacs。

Emacs由来のキーバインドが当たり前のように使える理由

Emacs由来のキーバインドが多くのアプリで当たり前のように使える理由は、macOSを支えるフレームワーク(アプリを構成する再利用可能な部品/プログラムの集合体)のなかでも基本中の基本といえる存在の「AppKit」にあります。

macOSのAppKitは、Mac OS X/macOSの礎となったNeXTSTEP/OPENSTEPを構成するGUIフレームワーク「Application Kit」の機能の多くを継承しています。NeXTSTEPはUNIXワークステーションを意識した機能を備えており、UNIXで利用者の多いEmacsと操作体系に互換性を持たせようとしたのでしょう。

Emacs由来のキーバインドはApplication Kitのテキスト編集機能として実装されました。それがAppKitに名を変えた現在も引き継がれているというわけです。

AppKitは、macOSで「Cocoa」と呼ばれる開発環境のうち、ウインドウ枠の描画やボタンがクリックされたときの反応などGUIの基礎部分を担っています。Cocoaアプリは基本的にAppKitを組み込みます。その結果として、[Ctrl]+[a]など[Ctrl]キーを軸としたキーバインド体系もサポートされることになるのです。

反対の見方をすれば、[Ctrl]+[a]や[Ctrl]+[k]が使えるアプリはCocoa/AppKitを使用したアプリ、NeXTSTEP/OPENSTEPのDNAを受け継ぐアプリということができます。32ビットアプリが廃止されCarbonアプリが消滅するなどMac OS Xのレガシーが失われつつある一方、その前時代の名残りがいまなお第一線で利用されているというのは、なんとも興味深い話ですよね。

Cocoa/AppKitを使用するアプリの多くで、[Ctrl]キーを軸としたキーバインド体系を利用できます。「Google Chrome」もそのうちの1つ。

おすすめの記事

著者プロフィール

海上忍

海上忍

IT/AVコラムニスト。UNIX系OSやスマートフォンに関する連載・著作多数。テクニカルな記事を手がける一方、エントリ層向けの柔らかいコラムも好み執筆する。執筆以外では、オーディオ特化型Raspberry Pi向けLinuxディストリビューションの開発に情熱を注いでいる。2012年よりAV機器アワード「VGP」審査員。

この著者の記事一覧

この記事の画像を見る13枚