zsh bindkey ctrl-enter キーを押してキティを使用して自動提案を受け入れる

zsh bindkey ctrl-enter キーを押してキティを使用して自動提案を受け入れる

ctrl-enterzsh自動提案を許可するように設定したいです。私は努力し続けましたが、bindkey "\C-\r" autosuggest-accept最終的にEnterキーを押すことがわかりました(それで、オーバーライドのためにaccept-line何もするのが難しくなりました:)。私はbashの自動提案を通じてこれを行う機能を使用しkittyているので、zshでも実装できることを願っています。kittyble.sh

答え1

\C-\r伝統的に、これは効率的ではなかったため、ターミナル土地では発生しませんでした。ASCII制御文字。したがって、ほとんどの端末で別途設定されていない限り、押すとCtrlEnter同じ出力(または何も出力されません)が出力されます。Enter

ble.shしかし、これによってKatieは特殊XTermモード伝統的に(他の)出力を生成しなかった修飾子キーの組み合わせを実装することが可能です。ble.shZshに対応するものが存在するかどうかはわかりませんが、作成することは可能です。簡単に言えば、これらのスクリプト(または必要に応じてプラグイン)は次のことを行う必要があります。

  1. この特殊モードで別の出力を生成するすべての既存のキーバインディングに新しいキーバインディングを追加します。
  2. いつでもZshラインエディタ(ZLE)初期化してこのモードを有効にします。
    autoload -Uz add-zle-hook-widget
    modify-other-keys-extended() {
      print -n '\e[>4;2m'
    }
    add-zle-hook-widget line-init \
        modify-other-keys-extended
    
  3. ZLEが完了するたびにこのモードを無効にします。
    modify-other-keys-off() {
      print -n '\e[>4;0m'
    }
    add-zle-hook-widget line-finish \
        modify-other-keys-off
    

関連情報