web-dev-qa-db-ja.com

bashからzshへのキーボードバインディング?

Bashの.inputrcに次のエントリがあります。

"\C-p": history-search-backward
"\C-n": history-search-forward
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char
"\ew": copy-region-as-kill

zshに移動したばかりで、bashにあるのと同じキーボードバインディングを保持したいと思います。上記の行はzshに同等のものがありますか?

Bashで実行できるほとんどすべてにzshと同等のものがありますが、ケースバイケースで翻訳を処理する必要があります。

Zshのラインエディタは zle です。キーをバインドするコマンドは bindkey です。キーにバインドできるラインエディションコマンドは widgets と呼ばれます。

# You may want to call different history search commands, e.g.
# down-line-or-history or down-line-or-search (and up-*)
bindkey '^P' history-search-backward
bindkey '^N' history-search-forward
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
# The others should work already

@Gillesの回答は、.zshrcの構文を支援します。各キーに使用するコードを見つけるには、 http://zshwiki.org/home/zle/bindkeys)に役立つ完全なリストがあります。 -私にとっては、CTRL-Vを押してから、コードを知るためのキーを押すと、最も効果的に機能します(nanoまたはvim内を含むどこでも)。

    bindkey "^[[5~" history-search-backward
    bindkey "^[[6~" history-search-forward
1
andrew lorien