bash の履歴入力で前方一致検索を有効にする

2008-8-12 07:00
このエントリーをはてなブックマークに追加

bash で履歴を利用するときに、遡って探すのが面倒くさいときがあります。このときに先頭数文字だけ入力してから Ctrl + PCtrl + 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 のビープ音を消す

  • ブックマーク : アクセス: 25,767回
  • カテゴリー : Linux
  • キーワード : ,

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

32 queries. HTML convert time: 0.085 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン