readlineがかなり便利
最近になってreadlineをよく使うようになって、その便利さを思い知ったのでメモ。
readlineとは
bushなどのシェルのCUIにおける入力支援ライブラリ。
特定のキーで「行頭移動」とか「行末移動」とかができる。
よく使うのは下記のものとかで、
<C-A> -> 行頭へ移動 <C-E> -> 行末へ移動 <C-K> -> 行末まで削除
なんかはすごく便利。
たとえば、
$ cd $HOME/local/src/sample.txt
と長いコマンドを打ったけれど、よく考えればファイルだからcdじゃなくて、viだったというとき。
今までなら左キーでガガーっと移動して、cdをviに変えていたりしたわけですが、このreadlineなら
全てコマンドを消したいときも
その他のキー
上の3つは良く使うんですが、他にもいろいろあります。
下記コマンドで見れます。
$ bindkey Standard key bindings "^@" -> set-mark-command "^A" -> beginning-of-line "^B" -> backward-char "^C" -> tty-sigintr "^D" -> delete-char-or-list-or-eof "^E" -> end-of-line "^F" -> forward-char "^G" -> is undefined "^H" -> backward-delete-char ....
ちなみに、これらはEmacsのキーバインドです。
僕はVi派なので、打ちにくかったりするのですが、まあこれくらいの量なら覚えられるのでEmacsバインドのまま使ってます。
どうしてもViバインドにしたい、という方は
$ bindkey -v
で、viバインドになります。
ただし、最初に