ワークスペースを切り替えると、端末に異常メッセージが表示されます(例:7A)。

ワークスペースを切り替えると、端末に異常メッセージが表示されます(例:7A)。

私はArch LinuxとZshを使用しています。私は通常複数のワークスペースを開いたまま前後に切り替えます(Ctrl + Alt + Up / Downを使用)。しかし、時には端末に戻ると、次のようなプロンプトが表示されることがわかりました。

ここに画像の説明を入力してください。

切り替えるたびにこれは起こりませんが、一般的です。これは非常に迷惑なことです。

上/下のキーだと思います。それを修正する方法についてのアイデアはありますか?

よろしくお願いします!

ベストアンサー1

あなたは正しいです。これはCtrl+ +を押すとMeta発生しますUp/Down。端末は、ファンクションキーと修飾子の組み合わせを表すためにエスケープシーケンスを送信します。キーボード入力とテキスト出力はどのように機能しますか?概要を確認し、すべてのキーの組み合わせを処理できるLinux端末はありますか?この特定のケースの詳細をご覧ください。

Zshには、特定のキー押下が正当であるかどうかを知る方法はありません。バグは、ウィンドウマネージャ(または++キーバインディングを処理するデスクトップ環境の一部Ctrl)またはターミナルエミュレータに存在します。ターミナルエミュレータではこれらのキーストロークはまったく表示されないはずなので、おそらくターミナルエミュレータにはないでしょう。これらのキー入力は、キーボードショートカットとして設定するプログラムによってキャプチャする必要があります。MetaUp/Down

あなたができる最善の方法はzshの回避策を設定することです。何もしないこれらのキーシーケンスのキーバインディングを追加します。これは、端末で実行されている他のアプリケーションではなくzshでのみ機能します。完全な文字シーケンスは++と++␛[1;7A用です。ここで、␛はエスケープ文字(バイト値27)です。 +を押してzshでキーを押すと、これを確認できます(エスケープ文字は端末に表示されます)。デフォルトでは、zshはを読み込み、このエスケープシーケンスがバインド解除されて読み取りを停止し、次の文字を通常の挿入として処理します(ケースごとにキーシーケンスが終了する時点を知る方法はありません)。CtrlMetaUp␛[1;7BCtrlMetaDownCtrlV^[␛[1

bindkey -s '\e[1;7A' ''
bindkey -s '\e[1;7B' ''

おすすめ記事