Linuxでのコマンド入力、ストレスなく出来ているでしょうか。 ホームポジションから手を動かさなくても入力ができる便利なショートカット操作をまとめておきます。
※今回紹介するものはBash用に作られたもののようですが、多くのシェルがこれらをサポートしています。
※Macをご利用の方はAltの代わりにEscもしくはCtrl + [ で代用ください。

入力内容 コマンド名 概要
Ctrl-p previous-history 1つ前のコマンド履歴を見る
Ctrl-n next-history 1つ先のコマンド履歴を見る
Ctrl-f forward-char 1つ右へカーソルを移動
Ctrl-b backward-char 1つ左へカーソルを移動
Alt->f forward-word 単語1つ右へカーソルを移動
Alt->b backward-word 単語1つ左へカーソルを移動
Ctrl-t transpose-chars 1つ前と現在の文字を入れ替える
Ctrl-h backward-delete-char カーソルの左側の文字を削除
Ctrl-d delete-char カーソルの文字を削除
Ctrl-w unix-word-rubout カーソルより左側を単語単位で削除
Alt->d kill-word カーソルより右側を単語単位で削除
Ctrl-u unix-line-discard カーソルより左側全部を削除
Ctrl-k kill-line カーソルより右側全部を削除
Ctrl-y yank 上記ctrl-w,ctrl-kなどで削除した文字列をペーストできる
Ctrl-_ undo 直前の操作の取り消し
Ctrl-r -> 検索文字列入力 reverse-search-history コマンド履歴を検索

Emacsを使われたことのある方はお気づきかと思いますが、
これらはEmacsライクな内容になっています。

Emacsの操作には慣れていないけどViの操作はできる方は、これらのショートカットをViライクに変更することで、慣れたViでコマンドラインを操作することもできます。
$ set -o vi
zshなら
$ bindkey -v

入力内容 概要
k 1つ前のコマンド履歴を見る
j 1つ先のコマンド履歴を見る
l 1つ右へカーソルを移動
h 1つ左へカーソルを移動
w 単語1つ右へカーソルを移動
e 単語の末尾へカーソルを移動
b 単語1つ左へカーソルを移動
/ -> 検索文字列入力 指定の文字列を検索

Viは入力キーからコマンド名を想起できるようにはなっていません。Emacsは覚えやすさ、Viは機能性を重視された設計なのかもしれませんね。

Emacsに戻される場合は
$ set -o emacs
zshなら
$ bindkey -e

より多様なショートカットを活用されたい方は、以下のチートシートを参照ください。
https://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf
https://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf

ご覧になった皆様の快適なコマンド操作の助けになりましたら幸いです。では。

投稿者プロフィール

alpacakun
alpacakun