ワンキーで一つ上のディレクトリに上がれるようにするってのは便利そうだ。 そもそもあふでもBackspaceで同等の事が出来るので活用しているわけだし。
リンク先では^に振ってるけど^hに振るように設定した。
function backward-delete-char-or-cdup() {
if [ -z $BUFFER ]; then
cd ..
zle reset-prompt
else
zle backward-delete-char
fi
}
zle -N backward-delete-char-or-cdup
bindkey '^h' backward-delete-char-or-cdup
これで入力バッファが空の時だけ上のディレクトリへ、そうでなければ文字の削除となる。
うーん、これだと履歴のインクリメンタルサーチ中に^hが無効になって使い物にならなくなる……。 ソース見る限り打つ手がなさそうな感じだ。