iOS x Iterm2とメタの+ Esc設定を使用して、Alt(meta)+左右の矢印キーには、次のカスタムzshキーバインディングがあります。
bindkey "^[^[[D" backward-word
bindkey "^[^[[C" forward-word
これにより、Alt矢印付きのほとんどのGUIテキストエディタと同様に、シェルで単語ごとにジャンプできます。
ただし、これらのバインディングは、tmux セッションの開始時にのみ画面に印刷されます。
DCDCDC
バインディングを許可するためにtmuxからzshを取得する方法を学びます。
答え1
Metaエスケープ文字表現要素は、c+形式の組み合わせにのみ適用されます。氏印刷可能な文字または制御文字です。ほとんどの端末はエスケープ文字の前にエスケープ文字を追加しないため、2つの連続したエスケープ文字を入力してEscapeアプリケーションでバインディングをトリガーできます。エスケープシーケンスには最初のエスケープ文字の後に制御文字は含まれません。
Ctrlキーストロークに対して端末から送信されたエスケープシーケンスを表示するには、+を押してからシェルプロンプトまたはでVキーストロークを押します(たとえば、Ctrl+ V、Meta+)。クッキングモードの端末とシェルやViなどのアプリケーションでは、+は「制御文字であっても次の文字を文字通り挿入」を意味するため、+の後にエスケープシーケンスを送信するキー入力があると、そのエスケープシーケンスが挿入される(エスケープシーケンスに前のエスケープ文字を除く制御文字が含まれていないと仮定します。Leftcat
CtrlVCtrlV
次の内容が表示されることがあります。
^[O1D
Meta+は、Leftエスケープ文字とその後に3つの文字を送信することを意味しますO1D
。つまり、バインドする必要があることを意味します。
bindkey "^[O1D" backward-word
答え2
tmuxset-option -g xterm-keys on
に追加またはtmux.conf
入力されるたびに。:set-option -g xterm-keys on
答え3
iTermを使っていると言ったので、次の答えを見てください。
https://stackoverflow.com/a/70451722/4936193
当時、設定で遊ぶのはbindkey
私には効果がなかったすべて削除し、iTermの設定を変更しました。そこに説明されているように、すべてが順調に行われました:)