readline を使うアプリケーションでの入力を便利にする .inputrc
Linux で使われる主要なアプリケーションは,標準入力から入力を受け取るプロンプトを readline で実装していることが多い。最も有名なのは bash だろう。 実は,Ruby や Python で素朴に標準入力を受け取るプログラムを書いたときも, rlwrap コマンドを噛ましてやると,readline を使うようになる。 bash で vi モードや emacs モードの行内編集を有効化する人は多いのではないかと思うが,実はこれも readline の機能である。 つまり,これらの機能を設定するにあたり,bashrc を編集するより inputrc を編集するほうが,bash のみならず他のアプリケーションでも便利な入力機能が享受できる,というわけだ。そこで以下に私の設定を晒してみる。 set editing-mode vi $if mode=vi set keymap vi-command Control-l: clear-screen set keymap vi-insert Control-l: clear-screen $endif "\C-p": history-search-backward "\C-n": history-search-forward TAB: complete この設定は次の通りの機能をもつ 行内編集で vi モードが使えるのでプロンプト上でやおら ESC すると hjkl で移動したり x で削除できたりする vi モードを有効化してても <C-L> でスクリーンクリアを有効化されるようにした <C-P>,<C-N> で入力履歴から前方一致検索する TAB での補完が効くようにした 設定ファイルのオプションの意味の説明は割愛(見ればわかるので)