シェルのコマンドライン編集を知った。

コマンドライン上でemacsやviのキーバインドができることを知った。
編集モードを切り替える方法は2つある。

setコマンドを使う

#emacsモード希望なら
$ set -o emacs

#viモード希望なら
$ set -o vi

readline変数を設定する方法

詳しい説明は省きます。
bashコマンドライン編集インターフェースはreadlineで、そのreadlineのデフォルトの起動ファイルが.inputrcです。
そういうわけで、.inputrcに次の記述を追加します。

#emacsモードを希望の場合
$ set editing-mode emacs

#viモードを希望の場合
$ set editing-mode vi

ESCを押すのが面倒

僕は、viが好きなのでviモードのコマンドラインにしています。
でも、コマンドモードに切り替えるのに、ESCを押すのが面倒です。
Control+[にバインドされているのですが。それでも、まだ面倒です。
今は、以下の記述を.inputrcに追加してControl+jにバインドしています。

"\C-j": vi-movement-mode

readlineについて日本語のマニュアルが載ってます。
http://www.jp.freebsd.org/cgi/mroff.cgi?sect=3&cmd=&lc=1&subdir=man&dir=jpman-6.0.0%2Fman&subdir=man&man=readline