ばうあーろぐ TOP へ戻る

コマンド履歴の Ctrl-R 使ってますか?

大学で初めて Linux を触りつつも、 その後働き始めてほぼ GUI オンリーの生活を送り、 iTerm, tmux, Vim 達とのと出会いを経て、 コマンドライン中心の生活を送っている girigiribauer ですこんにちは。

大学で初めて触り始めた頃は、コマンドの補完をタブキーで出来るだとか、上下キーで自分の打ったコマンド履歴を移動できたりと、単にコマンド名だけでなく、ショートカットキーも大事だなあと思いながら色々覚えていきました。 近年では VM 立ち上げたりタスクランナー走らせたりと、コマンドラインなしでは生きていけないくらいには使わせてもらってます。

ですが、過去のコマンドラインの履歴を入力するのに、後方からの履歴のインクリメンタルサーチのショートカットが用意されていることを、僕は恥ずかしながらつい先日まで知りませんでした。(!)

同じ記事は溢れているかもしれませんが、まだ見ぬ『知らんかったー』って人のために、恥を忍んでメモっておこうと思います。

コマンド履歴の後方からのインクリメンタルサーチ

bash にも最初から入ってるんですねー。なんで知らなかったんでしょうねー。

Ctrl-R を押すと、

(reverse-i-search)`':

のような感じで表示され、そのまま過去に入力したコマンドを数文字打つと、インクリメンタルサーチの要領で候補が絞られていきます。

後方検索なので、複数の候補があれば新しいものが優先して表示されます。 ちなみに、前方検索もあって Ctrl-S らしいのですが、他のショートカットキーに割り当てられてあるケースも多いようなので、.bashrc なり .zshrc なりに書いてやる必要があります。

1時間前くらいに入力したけどもう一度同じコマンド打ちたいとか、そういったケースなどに重宝するかと思います。これは知ってて当たり前のショートカットですねサーセン・・・

まとめ

マニュアルをちゃんと読もう。

もし記事内に誤りなどございましたら、 @girigiribauer までご一報いただけると助かります。