
.inputrc の変更によりコマンドライン履歴の検索性が向上する
コマンドラインを頻繁に使用する場合は、矢印キーを使用して以前実行したコマンドをめくったり、Tab キーでコマンドを補完したりできることをよくご存知でしょう。ただし、これらの機能は両方とも、.inputrc ファイルにいくつかの変更を加えることで、過去のコマンド履歴の検索において大幅に改善されます。
最初の 2 行は、矢印キーを使用して、特定のコマンド、または特定のコマンドの先頭部分のコマンド履歴をめくることができるようにしています。たとえば、「c」で始まるコマンドは覚えているが、他に何で始まるかわからない場合は、「c」と入力して上矢印を押すだけで、コマンド履歴内で c で始まるものを検索できます。これはコマンド全体の検索にも機能するため、「curl」と入力して上矢印または下矢印を続けて入力すると、すべての履歴で「curl」コマンドを検索できます。 2つ目の3行は過去のヒントから引用したもので、ターミナルのタブ補完機能を大幅に改善します。これにより、タブ補完が履歴に表示され、補完における大文字と小文字の区別がなくなり、入力内容が完全に曖昧な場合はすべて表示できるようになります。これらを組み合わせることで、履歴検索とタブ補完が劇的に改善されます。
ターミナルを起動し、お好みのテキストエディタで.inputrcファイルを開きます。ここではnanoを使用します。非常に使いやすいからです。
nano .inputrc
次の 5 行を (おそらく空の) .inputrc ファイルに貼り付けます。
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
TAB: menu-complete
それは次のようになります:
「Control+O」を押してファイルを保存し、「Control+X」を押してnanoを終了します。
ターミナルを更新するか、新しいターミナルを作成すると、矢印キーとタブキーを使用してコマンド履歴をめくるときに違いがすぐにわかります。
保存される履歴の長さはHISTFILESIZEの設定値に依存するため、ニーズに合わせて調整することを忘れないでください。また、コマンド履歴を定期的に消去すると、これらの機能の有用性が大幅に低下することに注意してください。
過去のコマンド履歴を印刷および検索する他の方法については以前にも説明しましたが、長時間実行された文字列の構文を単に探すのではなく、過去のコマンドを再度実行したい場合は、これがおそらく最適な選択肢です。ターミナルで主にデフォルトコマンドを操作する場合は、「defaults」文字列を個別のテキストファイルに保存することで、それらを自動的に追跡するという優れた方法を忘れないでください。ただし、将来的に設定を切り替える必要がある場合は、これらのinputrcの調整により作業が楽になります。
矢印キーの履歴検索トリックについては Lifehacker をご覧ください。ただし、他の .inputrc 行については、しばらく前に紹介した以前のトリックを覚えているかもしれません。