2014-01-07 [長年日記]
_ zshell の入力行で文字を指定してカーソル移動したい
zshell で長いコマンドを打ったり、ヒストリーを呼び出したりしたときに、途中のあそこを変更したいのだけど・・・というので困ることが多かった。行頭だったらC-a、行末だったらC-e とかで移動してたのだけど、文字を指定して移動するのが楽じゃないかと思って調べてみた。
調べたら、zshell には(キーバインドされていない)いろんなコマンドがあった。(普段、emacsモードなのでviモード使わないから気づかない)
http://www.cs.elte.hu/zsh-manual/zsh_14.html
vi-find-next-char, vi-find-prev-char で前後検索が欲しかった機能。vi-repeat-find で繰り返しができるのでこの3つにキーを割り当てることにした。
bindkey "^f" vi-find-next-char
bindkey "^b" vi-find-prev-char
bindkey "^v" vi-repeat-find
上記を .zshrc に書けば良い。bindkey コマンドを単体で打つと現在のキーバインドが見れて便利。