追加読書

追加読書

場合によっては、マウスをサポートするアプリケーション(Midnight Commanderなど)がクラッシュしたり切断されたりしますが、その端末が一部のモードに残っているため、マウスの動きを文字列コマンドとして許可することがあります。

(base) dimskraft@studebaker:~$ set mouse=
(base) dimskraft@studebaker:~$ set ttymouse=
(base) dimskraft@studebaker:~$ 0;32;19M32;33;19M32;34;19M32;36;19M32;37;19M32;38;20M32;39;20M32;41;20M32;42;20M32;43;20M32;44;20M32

そのようなことが起こったらどうやって無効にしますか?

私はそれを観察Terminatorし、別のウィンドウで異なる動作を見ることができます。ご覧のとおり、空白に設定することは役に立ちmouseませttymouseん。

答え1

この設定が適用されますvimへ、シェルではありません。

最良の方法は端末をリセットすることです。

reset

これにより、マウストレースが無効になり、Midnight Commanderなどのツールで行われた他の変更もキャンセルされます(CtrlC例:MCがクラッシュした後に押す試み)。

または、次のことを決定できます。使用するマウス追跡モード、明示的に無効にします(例えば echo -e '\e[?1002;1005l'私の端末でクラッシュが発生した後、Midnight Commander)、他の設定はそのまま残ります。stty saneこれらの問題を担当するライン規律の完全な精神を取り戻します。

答え2

reset途方もない過剰です。まず、単にアプリケーションを再起動してから適切に終了すると、この問題は解決されます。最終的に終了時に必要なマウスレポート機能がオフになります。

または、制御シーケンスを端末に直接送信してマウスレポートをオフにすることもできます。printfシェルユーティリティを使用してエスケープシンボルを使用して制御シーケンスを手動で入力します。

setterm利便性とユーザースペースの仮想端末のためにこれを行うための拡張されたポータブルバージョンのユーティリティを作成しました。 util-linux とは異なり、GUI 端末エミュレータおよび BSD で使用でき、特定の端末ファミリだけが制御シーケンスを正しく処理するという事実に敏感です。

%printenv用語
無音
%setterm -7 --xterm-mouse-reports を閉じる --dec-locator-reports を閉じる
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off コンソールデコード ECMA48 | REVOLVE
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off |          
%輸出港=xterm-256color
%エクスポートXTERM_VERSION=999
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off コンソールデコード ECMA48 | REVOLVE
減速度0
デセル0
デCRM 1006
デCRM 1003
デCRM 1002
デCRM 1000
%setterm -7 --xterm-mouse-reports off --dec-locator-reports off |
00000000 1b 5b 30 27 7a 1b 5b 30 27 7b 1b 5b 3f 31 30 30 |.[0'z.[0'{.[?100|]
00000010 36 6c 1b 5b 3f 31 30 30 33 6c 1b 5b 3f 31 30 30 |6l.[?1003l.[?100|]
00000020 32 6c 1b 5b 3f 31 30 30 30 6c | 2l。 [?1000l|
0000002a
%

制御シーケンスがあります。

追加読書

関連情報