zshの履歴検索をtcshっぽくする

| コメント(0) | トラックバック(0)

自分はFreeBSDからunixな世界に入ったため、以前はtcshをよく使っていた。
バイトでbona先生と知り合い、そこでzshの存在を初めて知り、あまりの高機能さにzshに移ったわけだが、どうしてもコレだけはtcshの方がイイよなぁと思う箇所が一個だけあった。

それは矢印キーによる履歴検索。
例えば
$grep hoge hoge.txt
$cat hogehoge.txt
と打った後
gre↑と入力するとtcshでは気を利かせてgreから始まる以前の入力grep hoge hoge.txtが出るのに対し、zshはデフォルトで直前のcat hogehoge.txtが出る。

この部分だけがtcshっぽかったら最高なんだけどなぁと思って今日調べてみたら、(やっぱり)この挙動をカスタマイズできるらしい。


www.crimson-snow.net/tips/unix/zsh.htmlより

# コマンド履歴の検索機能の設定
# ^[ は「エスケープ」
# viなら Ctrl-v ESC
# Emacsなら Ctrl-q ESC
# viで編集する場合
# 上2行は Ctrl-v を押下した後、希望のキーを押下
# 下2行は「エスケープ」の後にキーの端末コードを入力
autoload history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^[OA" history-beginning-search-backward-end
bindkey "^[OB" history-beginning-search-forward-end
bindkey "^[[A" history-beginning-search-backward-end
bindkey "^[[B" history-beginning-search-forward-end

矢印キーの端末コードがどうなるかは環境依存。
cygwinでは^[OA、
FreeBSDにputty経由で繋いだら^[[Aになった。
めんどくさいから2パターンとも書いてた方がイイカモね。

いやーこれでまた快適になった。もっと早く調べておくべきだったよ。

トラックバック(0)

トラックバックURL: https://hoge.sub.jp/blog-cgi/mt/mt-tb.cgi/1613

このブログ記事について

このページは、Lyoが2008年8月20日 23:31に書いたブログ記事です。

ひとつ前のブログ記事は「ジャスティン+吉幾三」です。

次のブログ記事は「懐かしきモーター音」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3