Keyhab
⌃R
Terminal

ターミナル ショートカット一覧(チートシート)bash / zsh の操作キー

ターミナルのショートカットを操作別にまとめた一覧表。カーソル移動、行編集、履歴検索、プロセス制御、履歴展開(!! や !$)、macOS のターミナル.app の操作まで70個を掲載しています。

この記事の使い方

引くための一覧です。ここに載っているキーの多くは readline(bash が使うライブラリ)の機能で、SSH 先でも同じように効きます。カーソル移動・削除・履歴の基本キーは zsh でも同じです。

ただし macOS の既定シェルは zsh で、readline ではなく zsh 自身のキー設定を使います。挙動が違うもの・効かないものには表の中で注記しました。vi 風のキー配置にしている場合は、さらに多くが変わります。

カーソル移動

キー操作
Ctrl + A行頭に移動
Ctrl + E行末に移動
Ctrl + F1文字右へ
Ctrl + B1文字左へ
Alt + F1単語右へ
Alt + B1単語左へ

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 + DEOF 送信(シェルの終了)
Ctrl + S画面出力を一時停止
Ctrl + Q画面出力を再開
Ctrl + BackslashSIGQUIT を送信

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 vivi モードに切り替え
set -o emacsemacs モードに切り替え
Ctrl + X → Ctrl + Rinputrc を再読み込み
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 は現在行より上を実際に消します。

どこから覚えるか

  1. Ctrl + A / Ctrl + E / Ctrl + U — 行の先頭・末尾・全消し
  2. Ctrl + R — 履歴検索。これだけで打鍵量が目に見えて減ります
  3. !! と !$ — 直前のコマンドと引数の使い回し

この6つが身についた時点で、ターミナルでの作業速度はかなり変わります。マクロや kill ring は、必要になった日に調べれば十分です。

⌃R

Terminal のショートカットを、4択クイズで覚える

Keyhab は15ツール・1,050問を初級・中級・上級で出題する iPhone・iPad アプリ。1日5分、VSCode (Mac)・Vim の初級は無料で使えます。

App Store で無料ダウンロード

関連記事