如何在zsh中正确地重新映射键绑定

时间:2015-06-27 11:56:17

标签: shell zsh

我想将CTRL-X重新设置为与CTRL-U完全一样。使用

bindkey "^x" kill-whole-line

似乎有效,但与CTRL-U相比,它会导致线路略微延迟。同时多次点击CTRL-X会显示历史记录条目,显然不是我需要的。

我认为问题是由常规的CTRL-X功能引起的,需要首先解除绑定,但到目前为止我找不到正确的命令。

2 个答案:

答案 0 :(得分:1)

我发现了点击^X时延迟的原因:zsh正在等待所有默认^X序列的第二个键。我发现让^X完全像^U一样工作的一个解决方案可能是删除所有默认的^X序列,但这非常脆弱,我可以提供更多建议。< / p>

bindkey -r "^X^B"
bindkey -r "^X^F"
bindkey -r "^X^H"
bindkey -r "^X^J"
bindkey -r "^X^K"
bindkey -r "^X^N"
bindkey -r "^X^O"
bindkey -r "^X^U"
bindkey -r "^X^V"
bindkey -r "^X^X"
bindkey -r "^X*"
bindkey -r "^X."
bindkey -r "^X1"
bindkey -r "^X="
bindkey -r "^XA"
bindkey -r "^XG"
bindkey -r "^XM"
bindkey -r "^XP"
bindkey -r "^XS"
bindkey -r "^Xb"
bindkey -r "^Xf"
bindkey -r "^Xg"
bindkey -r "^Xi"
bindkey -r "^Xp"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^Xu"
bindkey -r "^Xz"
bindkey "^X" kill-whole-line

答案 1 :(得分:0)

使用Ctrl-v能够插入Ctrl-x,从而采用这种方式

bindkey "^V^x" kill-whole-line