ターミナル ショートカット一覧(チートシート)bash / zsh の操作キー
ターミナルのショートカットを操作別にまとめた一覧表。カーソル移動、行編集、履歴検索、プロセス制御、履歴展開(!! や !$)、macOS のターミナル.app の操作まで70個を掲載しています。
この記事の使い方
引くための一覧です。ここに載っているキーの多くは readline(bash が使うライブラリ)の機能で、SSH 先でも同じように効きます。カーソル移動・削除・履歴の基本キーは zsh でも同じです。
ただし macOS の既定シェルは zsh で、readline ではなく zsh 自身のキー設定を使います。挙動が違うもの・効かないものには表の中で注記しました。vi 風のキー配置にしている場合は、さらに多くが変わります。
カーソル移動
| キー | 操作 |
|---|---|
| Ctrl + A | 行頭に移動 |
| Ctrl + E | 行末に移動 |
| Ctrl + F | 1文字右へ |
| Ctrl + B | 1文字左へ |
| Alt + F | 1単語右へ |
| Alt + B | 1単語左へ |
Ctrl + A と Ctrl + E だけでも、長いコマンドの打ち直しがかなり減ります。
削除・貼り付け
| キー | 操作 |
|---|---|
| Ctrl + U | カーソルから行頭まで削除(zsh では行全体を削除) |
| Ctrl + K | カーソルから行末まで削除 |
| Ctrl + W | カーソル前の1単語を削除 |
| Alt + D | カーソル後の1単語を削除 |
| Alt + Backspace | カーソル前の1単語を削除(記号で区切る) |
| Ctrl + D | カーソル位置の文字を削除 |
| Ctrl + H | カーソル前の文字を削除 |
| Ctrl + Y | 最後に削除したテキストを貼り付け |
| Alt + Y | 貼り付ける候補を巡回(kill ring) |
| Ctrl + _ | 直前の編集を取り消し |
| Alt + R | 行の編集をすべて取り消し |
打ち間違えたパスワードやコマンドを消すときは、Backspace 連打ではなく Ctrl + U です。
文字・単語の操作
| キー | 操作 |
|---|---|
| Ctrl + T | カーソル前後の文字を入れ替え |
| Alt + T | カーソル前後の単語を入れ替え |
| Alt + U | 単語末まで大文字に変換 |
| Alt + L | 単語末まで小文字に変換 |
| Alt + C | 先頭1文字を大文字にして単語末へ |
履歴
| キー | 操作 |
|---|---|
| Ctrl + R | 履歴を逆方向に検索 |
| Ctrl + G | 検索をキャンセル |
| Ctrl + P | 前のコマンド |
| Ctrl + N | 次のコマンド |
| Ctrl + O | 現在の行を実行して次の履歴を表示 |
| Alt + . | 前のコマンドの最後の引数を挿入 |
| Alt + Ctrl + Y | 前のコマンドの最初の引数を挿入 |
Ctrl + R は、ターミナルで最初に覚えるべきキーです。打ったコマンドを探すのに履歴を遡る必要がなくなります。
履歴展開(打ち込んで使う)
| 入力 | 意味 |
|---|---|
| !! | 直前のコマンドを再実行 |
| !$ | 前のコマンドの最後の引数 |
| !* | 前のコマンドのすべての引数 |
| !文字列 | その文字列で始まる最新のコマンドを実行 |
| !?文字列 | その文字列を含む最新のコマンドを実行 |
| ^old^new | 前のコマンドの文字列を置換して実行 |
| !:n | 前のコマンドの n 番目の引数 |
| !:n-m | 前のコマンドの n〜m 番目の引数 |
典型例は sudo !!。権限エラーで落ちた直後にこれだけで再実行できます。
画面・プロセス制御
| キー | 操作 |
|---|---|
| Ctrl + L | 画面をクリア |
| Ctrl + C | 実行中のコマンドを中止 |
| Ctrl + Z | プロセスをサスペンド |
| Ctrl + D | EOF 送信(シェルの終了) |
| Ctrl + S | 画面出力を一時停止 |
| Ctrl + Q | 画面出力を再開 |
| Ctrl + Backslash | SIGQUIT を送信 |
Ctrl + S は画面が固まったように見えるので、知らないと焦ります。固まったら Ctrl + Q です。
補完・展開
| キー | 操作 |
|---|---|
| Alt + ? | 補完候補を一覧表示(bash のみ。zsh では別機能) |
| Ctrl + X → * | グロブパターンを展開して挿入 |
| Alt + { | ブレース展開を挿入 |
| Ctrl + Alt + E | エイリアスや変数を展開 |
| Ctrl + V → Tab | リテラルのタブ文字を挿入 |
エディタ連携・マクロ
| キー | 操作 |
|---|---|
| Ctrl + X → Ctrl + E | 今の入力をエディタで編集(zsh は edit-command-line の設定が必要) |
| fc | 直前のコマンドをエディタで開く |
| Alt + # | 現在の行をコメントとして履歴に残す |
| Ctrl + X → ( | キーボードマクロの記録開始 |
| Ctrl + X → ) | 記録終了 |
| Ctrl + X → E | 記録したマクロを実行 |
| Ctrl + X → Ctrl + X | カーソルとマークの位置を入れ替え |
長いワンライナーは Ctrl + X → Ctrl + E でエディタに開くと編集が楽です(zsh では edit-command-line の設定が必要です)。
設定確認・モード切替
| 入力 | 操作 |
|---|---|
| bind -P | すべてのキーバインドを表示(bash。zsh は bindkey) |
| set -o vi | vi モードに切り替え |
| set -o emacs | emacs モードに切り替え |
| Ctrl + X → Ctrl + R | inputrc を再読み込み |
| Ctrl + X → Ctrl + V | シェルのバージョンを表示(bash のみ。zsh では vi コマンドモードに入る) |
ターミナル.app(macOS)
ここから下はシェルではなくアプリ側の操作です。
| ショートカット | 操作 |
|---|---|
| Cmd + T | 新しいタブ |
| Cmd + N | 新しいウィンドウ |
| Cmd + D | ウィンドウを上下に分割 |
| Cmd + Shift + D | 分割を閉じる |
| Cmd + W | タブ/ペインを閉じる |
| Ctrl + Tab / Ctrl + Shift + Tab | 次/前のタブ(公式) |
| Cmd + Shift + ] / [ | 次/前のタブ(公式一覧には未掲載だが動く) |
| Cmd + K | 現在行より上をすべて消去(Clear to Start) |
Cmd + K と Ctrl + L は似ていますが別物です。Ctrl + L は表示を流すだけで履歴は残り、Cmd + K は現在行より上を実際に消します。
どこから覚えるか
- Ctrl + A / Ctrl + E / Ctrl + U — 行の先頭・末尾・全消し
- Ctrl + R — 履歴検索。これだけで打鍵量が目に見えて減ります
- !! と !$ — 直前のコマンドと引数の使い回し
この6つが身についた時点で、ターミナルでの作業速度はかなり変わります。マクロや kill ring は、必要になった日に調べれば十分です。