私はmc
それを定期的に使用しており、長年にわたって完璧に動作しました。しばらく前(何週間)mc
マウスホイールと混同して、次のようなANSIエスケープシーケンスを画面に印刷したようです。
[97;14;10M[96;15;10M[97;16;10M[96;16;10M[96;16;10M
3桁の数字を含むANSIシーケンスが見つかりません。中サイズしかし。97
こんな意味だと思いますがroll up
、96
こういう意味なんですねroll down
。他の数字は謎です。
さらに、奇妙なことは、これらのエラーが予測できず、使用中いつでも発生する可能性があることですmc
。そして見知らぬ人もいます。mc
1つの端末で1つを開くと正常に動作しますが、もう1つの端末では1つがmc
失敗します。
最後は、欠陥が共通の要素ではないことを示すようです(おそらくgpm
そうかもしれません)。
私はSlackware 14.2、urxvt(v9.22)、am$光マウスを使用しています。どこを見るべきかを知っている人はいますか?私も走ってmc
行き、スクロールが比較してみるとrxvt
少し遅いようでしたurxvt
。
答え1
これはurxvtの1015拡張マウス座標です。http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking(BTW、2番目と3番目の数字はセル座標です)。このプロトコル拡張の主な目的は、223以上のマウス座標をサポートすることです。
別のより有利な拡張はxtermのSGR 1006モードであり、urxvt拡張のいくつかの欠点なしに同じ問題(およびそれ以上)を解決します。 Xtermの1006モードはurxvtの1015モードを使用しなくなりました。
しかし、rxvt-unicode(urxvtとも呼ばれます)は、私が知っている唯一の端末エミュレータでマウスイベントをサポートしています。いいえこの拡張をサポートしてください。 2012年1月に著者と話をしましたが、彼は私が理解できない理由でこのモードの実装を拒否しました。たぶん、誰かが再試行する必要があります。 urxvtには数行の単純なコードしか必要ありません。
Midnight Commanderはこの新しい拡張されたxterm拡張を実装し、urxvt拡張を実装しなくなりました。詳しくはMCチケットをご覧ください2662そして2956。
つまり、通常、mcはurxvtがサポートしていない拡張を要求する必要があるため、拡張を使用せずに続行します(マウスは223列までのみ機能します)。
あなたの場合、このマウス拡張が有効になっていると、アプリケーションは異常終了を実行する可能性があります。 mcを終了して実行してこの拡張を無効にし、echo -ne '\e[?1015l'
最後にmcを再起動できます。
残念ながら、urxvt-9.21では、このコマンドはreset
実際には無効にする必要がありますが、この拡張は無効にしません。私はこれがバグだと思います。
この繰り返しの問題が本当に面倒な場合は、上記のエスケープシーケンスをプロンプトに含めるか、1006拡張をサポートする他のエミュレータに切り替えることをお勧めします。または、シャットダウン時にこの拡張機能を有効にしたアプリケーションを追跡して修正します。
答え2
私がめちゃくちゃにしたのは、bash_profileにエクスポートTERM = xtermを追加することでした。悪い間違い。この方法で端末のデフォルト TERM 変数をオーバーライドします。しないでください。
これにより、urxvtのcmusとmcのマウスコントロールが完全に混乱しました。 TERM = ...はもはやグローバルにエクスポートされなくなり、削除しました。すべてが再び正常に戻った。
他の問題については、TERMを変更して解決しようとしました。これで、ローカルで必要な場合にのみ適用されます。 alias vim='TERM=xterm vim' これにより、tmux の vim 色であった元の問題が解決されました。