bash の履歴入力で前方一致検索を有効にする
2008-8-12 07:00
bash で履歴を利用するときに、遡って探すのが面倒くさいときがあります。このときに先頭数文字だけ入力してから Ctrl + P、Ctrl + N を押すと、それまでタイプした文字から始まる履歴だけを検索してくれる技です。
ホームディレクトリの .inputrc というファイルに
"\C-n":history-search-forward "\C-p":history-search-backward
のように書いて、再度ログインし直すと、この機能が有効になります。サイログインせずに反映させたい場合は bash のプロンプト上で Ctrl-X Ctrl-Rと入力します。
たとえば vi と打ってから Ctrl + P を押せば、過去に使ったコマンド履歴の中から、vi を使った履歴だけが出てくるので便利です。
カーソルキーの↑,↓ でも有効にしたい場合は、さらに
"\e[A":history-search-backward "\e[B":history-search-forward
を追加しておきましょう。
なお .inputrc は bash だけでなく FTP など readline ライブラリ関数を内部利用しているものにも影響しますので、bash だけに反映させたい場合は if 文を使います。
$if Bash "\C-p": history-search-backward "\C-n": history-search-forward "\e[A":history-search-backward "\e[B":history-search-forward $endif
関連: bash のビープ音を消す
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.