SHELLのコマンド履歴検索を便利にしよう

先日、FreeBSDを久しぶりにいじった際に便利な機能を思い出しました。
上下キーによるコマンド履歴なのですが、プロンプトに入力した文字列をもとに絞り込んで履歴を検索できるため非常に便利です。

設定方法

ここでは、tcsh/bash/zshでそれぞれ同じ機能を利用するための「キーバインド」です。
※動作は確認していますが、詳細については調べきれていないのでご容赦を...

tcshの場合

bindkey -k up history-search-backward
bindkey -k down history-search-forward
※コマンドとして実行しても利用可能ですが、セッションごとにクリアされるため、永続的に利用する場合~/.tcshrcなどに記述すると良いでしょう。

bashの場合

~/.inputrcに以下の行を追加します。有効にするには再度ログインし直すか、ctl+x ctl+rを実行を入力してください。

"\e[A":history-search-backward
"\e[B":history-search-forward

zshの場合

bindkey "^[[A" history-beginning-search-backward
bindkey "^[[B" history-beginning-search-forward
tcshと同様のため、永続的に利用する場合は~/.zshrcなどに記述すると良いでしょう。

以上。