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
ご覧になった皆様の快適なコマンド操作の助けになりましたら幸いです。では。