【发布时间】:2015-06-27 11:56:16
【问题描述】:
我想重新映射 CTRL-X 以完全像 CTRL-U 一样工作。使用
bindkey "^x" kill-whole-line
似乎有效,但与立即有效的 CTRL-U 相比,在终止线路时会产生轻微的延迟。还多次点击CTRL-X 会显示历史条目,显然不是我需要的。
我认为问题是由需要首先解除绑定的常规 CTRL-X 功能引起的,但到目前为止我未能找到正确的命令。
【问题讨论】:
我想重新映射 CTRL-X 以完全像 CTRL-U 一样工作。使用
bindkey "^x" kill-whole-line
似乎有效,但与立即有效的 CTRL-U 相比,在终止线路时会产生轻微的延迟。还多次点击CTRL-X 会显示历史条目,显然不是我需要的。
我认为问题是由需要首先解除绑定的常规 CTRL-X 功能引起的,但到目前为止我未能找到正确的命令。
【问题讨论】:
我找到了点击^X 延迟的原因:zsh 正在等待所有默认^X 序列的第二个键。我发现让^X 与^U 完全一样工作的一种解决方案可能是删除所有默认的^X 序列,但这很脆弱,我愿意接受更多建议。
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
【讨论】:
使用Ctrl-v可以插入Ctrl-x,从而使这种方式
bindkey "^V^x" kill-whole-line
【讨论】:
"^X*" expand-word。我看到的延迟可能是因为它在输入 ^X 后等待第二个键。我还没有弄清楚如何删除这个默认绑定。