LinuxやmacOSのターミナルを利用する際、コマンドラインでの入力作業は日常茶飯事です。
長いコマンドを入力している最中に、「コマンドの先頭に sudo を付け忘れた」あるいは「パスの末尾を少し修正したい」といった場面に遭遇することは多いでしょう。
このような時、矢印キーを押し続けてカーソルを移動させていないでしょうか。
Bashのショートカットキーを習得すれば、カーソル移動のストレスを劇的に軽減し、作業効率を数倍に高めることが可能です。
本記事では、行頭や行末へ一瞬で移動する基本操作から、さらに一歩進んだ効率化テクニックまで詳しくご紹介します。
なぜBashのショートカットを覚える必要があるのか
コマンドラインインターフェース (CLI) において、タイピングの速さ以上に重要なのが「編集の速さ」です。
プログラムの実行引数を変更したり、複雑なパイプラインを修正したりする際、カーソル移動に時間を取られるのは非常にもったいないことです。
Bashには GNU Readline というライブラリが組み込まれており、デフォルトで Emacs形式 のショートカットキーが利用できるようになっています。
これらを指に覚え込ませることで、キーボードのホームポジションを崩さずにあらゆる操作を完結させることができます。
マウスを使わず、最小限の運指でコマンドを操る姿は、プロフェッショナルなエンジニアとしての第一歩とも言えるでしょう。
行頭・行末へ一瞬で移動する基本コマンド
最も頻繁に使用するのが、行の最初と最後へジャンプする操作です。
これら2つのショートカットを覚えるだけでも、ターミナル操作の快適さは格段に向上します。
行頭へ移動する:Ctrl + A
コマンドの入力中に、カーソルを一気に先頭へ戻したい時は Ctrl + A を使用します。
- 利用シーン: 長いコマンドを打ち込んだ後で、先頭に環境変数の設定や
sudoを追加し忘れたことに気づいた時。 - 覚え方: アルファベットの最初の文字である
Aと覚えると記憶に定着しやすくなります。
行末へ移動する:Ctrl + E
逆に行の末尾へ一気にジャンプしたい時は Ctrl + E を押します。
- 利用シーン: 行頭で修正を行った後、再びコマンドの末尾に戻って引数を追加したい時。
- 覚え方: End (末尾) の頭文字である
Eと覚えましょう。
単語単位での素早い移動
行頭・行末だけでなく、特定の単語(スペース区切り)ごとにカーソルを飛ばしたい場合もあります。
矢印キーを連打する代わりに、以下のショートカットを活用してください。
1単語分戻る:Alt + B
現在地から左側にある単語の先頭へ移動するには Alt + B を使用します。
macOSのターミナルを使用している場合は、設定で「Optionキーをメタキーとして使用」にチェックを入れる必要がある場合があります。
- 覚え方: Backward (後ろへ) の
Bです。
1単語分進む:Alt + F
現在地から右側にある単語の末尾へ移動するには Alt + F を使用します。
- 覚え方: Forward (前へ) の
Fです。
これらの単語移動を組み合わせることで、長いパスを含むコマンドの特定箇所へピンポイントで着地できるようになります。
移動と合わせて覚えたい削除・復元コマンド
カーソル移動ができるようになると、次に必要になるのが「移動した先での効率的な編集」です。
Bashには、削除した内容をバッファに保存し、後で貼り付ける機能が備わっています。
カーソル位置から行末まで削除:Ctrl + K
カーソルがある位置から右側をすべて消去したい場合は Ctrl + K を使います。
これは Kill の略であり、削除された内容は「キルリング」と呼ばれる領域に一時保存されます。
カーソル位置から行頭まで削除:Ctrl + U
逆に、カーソルより左側にある内容をすべて削除したい場合は Ctrl + U を押します。
削除した内容を貼り付ける:Ctrl + Y
Ctrl + K や Ctrl + U で削除した内容は、 Ctrl + Y で即座に貼り付けることができます。
これは一般的に Yank (ヤンク) と呼ばれる操作です。
例えば、「一度コマンド全体をコピーして、別の場所で使い回したい」といった場合に、 Ctrl + U で全削除してから Ctrl + Y を2回押すといったトリッキーな使い方も可能です。
実践的な活用例:コマンドの修正
具体的なシチュエーションを想定して、どのようにショートカットを組み合わせるか見てみましょう。
以下のような長いコマンドを入力してしまったとします。
# 設定ファイルを編集しようとしたが、権限が必要なディレクトリだった
vi /etc/nginx/conf.d/default.conf
この時、実行前に sudo が必要だと気づきました。
これまでは左矢印キーを長押ししていたかもしれませんが、これからは以下の手順で操作します。
Ctrl + Aを押して行頭へジャンプ。sudoと入力。Ctrl + Eを押して行末へ戻る。- Enterキーで実行。
また、間違えて入力した長いパスを修正したい場合は次のように動きます。
# 途中のディレクトリ名を間違えた
cp /var/log/app/old_data.log /backup/storage/2026/result/
Alt + Bを数回押し、修正したい単語まで戻る。Ctrl + W(単語削除) を使って間違った部分を消去。- 正しい名称を入力し、
Ctrl + Eで末尾へ移動。
このように、複数のショートカットを組み合わせることで、キーボードから手を離さずに複雑な修正作業が行えるようになります。
設定によるカスタマイズと確認
Bashのキーバインド設定は ~/.inputrc というファイルで制御されています。
もし、特定のキーが期待通りに動かない場合や、自分好みの挙動に変更したい場合はこのファイルを編集します。
例えば、デフォルトのEmacsモードからViモードに変更したい場合は、以下のように設定します。
# ~/.inputrc に記述
set editing-mode vi
ただし、多くのサーバー環境や標準的な設定ではEmacsモードが前提となっているため、基本的にはデフォルトのEmacsキーバインドを習得しておくのが最も汎用性が高いと言えるでしょう。
現在設定されているキーバインドを確認するには、以下のコマンドを実行します。
# 現在有効なキーバインドを一覧表示する
bind -P
出力結果の一部を以下に示します。
beginning-of-line can be found on "\C-a".
end-of-line can be found on "\C-e".
forward-word can be found on "\Ref", "\M-f".
backward-word can be found on "\Reb", "\M-b".
\C- は Controlキー、 \M- は Metaキー (通常はAltまたはOption) を指しています。
Bashショートカット早見表
本記事で紹介した主要な移動・編集ショートカットを一覧表にまとめました。
デスクの片隅にメモしておくと便利です。
| 操作内容 | ショートカットキー | 備考 |
|---|---|---|
| 行頭へ移動 | Ctrl + A | 先頭へジャンプ |
| 行末へ移動 | Ctrl + E | 末尾へジャンプ |
| 1文字戻る | Ctrl + B | 矢印キー(左)と同じ |
| 1文字進む | Ctrl + F | 矢印キー(右)と同じ |
| 1単語戻る | Alt + B | スペース区切りで戻る |
| 1単語進む | Alt + F | スペース区切りで進む |
| 行末まで削除 | Ctrl + K | カーソルより右を消去 |
| 行頭まで削除 | Ctrl + U | カーソルより左を消去 |
| 単語を削除 | Ctrl + W | 直前の1単語を消去 |
| 貼り付け | Ctrl + Y | 削除した内容を復元 |
| 画面をクリア | Ctrl + L | clear コマンドと同等 |
まとめ
Bashのカーソル移動ショートカットは、一度身につけてしまえば意識することなく手が動くようになる「一生モノのスキル」です。
特に行頭への Ctrl + A と、行末への Ctrl + E は、利用頻度が非常に高く、これだけでターミナル作業のタイムロスを大幅に削減できます。
最初は意識して使う必要がありますが、数日間意識的に練習すれば自然と指が覚えるはずです。
矢印キーに手を伸ばす時間を削り、その分を本来のタスクである開発や運用作業に充てていきましょう。
より高度な操作を求める方は、履歴検索の Ctrl + R や、コマンド置換などのテクニックについても学習してみることをおすすめします。
Bashの機能をフル活用して、快適なコマンドラインライフを送ってください。
