bashでCtrl-rでコマンド履歴を後方検索
コンソールを使っていると頻繁にCtrl-pやCtrl-nを利用する。前に打ったコマンドを何度も打ちたくないからだ。出来る限りタイプを少なくしたいからね。
そんな中で重宝するのが、後方検索。前にあのコマンドを打ったけど微かにしか覚えてない・・・あの長いパスをもう一回打ちたくない・・・Ctrl-pで戻るのがしんどい・・・などなど。
そんな時はCtrl-rで検索出来る。例えばsudoって打った時を検索してみようと言う場合は、Ctrl-rの後にsudoと打ってみる。そうするとCtrl-rを押すたびにsudoを検索してくれる。
そしてそして、これも良くあるのだが、行き過ぎた場合がやっかい。一旦escやCtrl-gで抜けた後に再度、後方検索をするのは面倒。実に面倒。
そんな場合は、
#割当状況を確認 $ stty -a #スクリーンロックを未定義にする $ stty stop undef $ stty start undef #stop=になっているか確認 $ stty -a
これでCtrl-sに割り当ててあるスクリーンロックをオフにする。あとは、Ctrl-rで行き過ぎた場合にCtrl-sで前方検索してくれるので実に便利。
どうせスクリーンロックは使わないとかemacs使うときに邪魔と言う人は、.bashrcだったり.profileだったりに書いておけば面倒な事はなくなる。
Ctrl-sでロックするように戻す場合は下記を実行。まず無いけど・・・
$ stty stop ^S