Macでは、コントロールキーを押しながら Hキーを押すと「バックスペース」になります。
これは、ASCIIの制御コード「BS」を入力するときに、コントロールキーを押しながら0x40足した文字「H」を入力したことに由来しています。
1. macOSのControl + H は bashに由来する
macOSには Controlキーによる、編集作業のショートカットキーがあります。
これらの多くは、UNIXプログラムの Emacsや bashのキーバインドに由来します。
macOSで Control + H(^h)は、バックスペースの役割になります。
しかし、これは Emacs だと、ヘルプの表示です。
バックスペースではありません。
一方、bashでは バックスペースになっています。
つまり、macOSでは bash を踏襲しているようです。
2. Control + H は ACSIIの制御コードに由来する
bash の多くのショートカットキーは Emacsに由来します3が、 C-h の場合は さらに Emacs より遡り、ASCIIでの「制御コード」の慣習によるものです。

ASCIIのコード表をみると、
バックスペース(BS)の制御コードは「0x08」です。
一方、「H」は「0x48」です。
16進数での下位が同じ「8」になっているのがポイント。
ASCIIの「制御文字」をキーボードから入力する場合、コントロールキーを押しながら 制御文字の文字コードに 0x40 を足した文字を入力するようになっていました4。
逆にいうと、コントロールキーを押しながら英字キーを押すと、その「0x40」分を引いた制御コードが入力されるわけです。
同様の例に C-j, C-m の改行があります。
ただし、macOSで採用されているのは Control + H(^h)だけのようです。
こちらもどうぞ。


![[Mac] control + T のショートカット(文字の「転置」)](https://chiilabo.com/wp-content/uploads/2023/04/image-20-17-1024x576.jpg)
[cc_img url=”https://chiilabo.com/wp-content/uploads/2023/04/image-30.png” name=”ASCIIコード表 フリー”]
(補足)
- GNU Emacs Manual – Help
- bashのキーバインド(キーボードショートカット) まとめ – readlineとbind、ついでにstty編 – うまいぼうぶろぐ
- 「ターミナル内のシェル は bash です。これは元々「Emacs風キーバインド」のよう」 – Emacs 風キーバインド – 半月記
- 「制御文字をキーボードから入力するときは、制御文字 の文字コードに0x40を足した文字を、Ctrlキーを押しながらタイプ する」 – Character Code

![[Mac] どうして Control + H で「バックスペース」なの?【ASCIIの制御コード】](https://chiilabo.com/wp-content/uploads/2023/04/image-28-4-1024x576.jpg)
![[mac] Zoomのアップデートが失敗したのでインストールし直したらアイコンが変わった](https://chiilabo.com/wp-content/uploads/2023/04/image-27-2-1024x576.jpg)
![[Mac] ドックのファイルがプレビューが表示されなかった](https://chiilabo.com/wp-content/uploads/2023/04/image-28-6-1024x576.jpg)