【问题标题】:How to correctly remap a key binding in zsh如何在 zsh 中正确重新映射键绑定
【发布时间】:2015-06-27 11:56:16
【问题描述】:

我想重新映射 CTRL-X 以完全像 CTRL-U 一样工作。使用

bindkey "^x" kill-whole-line

似乎有效,但与立即有效的 CTRL-U 相比,在终止线路时会产生轻微的延迟。还多次点击CTRL-X 会显示历史条目,显然不是我需要的。

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

【问题讨论】:

    标签: shell zsh


    【解决方案1】:

    我找到了点击^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
    

    【讨论】:

      【解决方案2】:

      使用Ctrl-v可以插入Ctrl-x,从而使这种方式

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

      【讨论】:

      • 不幸的是没有帮助。我认为我的问题是因为这个默认绑定:"^X*" expand-word。我看到的延迟可能是因为它在输入 ^X 后等待第二个键。我还没有弄清楚如何删除这个默认绑定。
      猜你喜欢
      • 2012-09-12
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 2019-04-15
      • 2013-02-23
      相关资源
      最近更新 更多