Cygwinターミナルウィンドウで履歴をスクロールすると、行が壊れて表示されます。

Cygwinターミナルウィンドウで履歴をスクロールすると、行が壊れて表示されます。

私はWindows 7で最新バージョンのCygwin 64ビットを使用しています。ターミナルウィンドウでは、ローカルコンピュータで作業するか、SSHを介して別のコンピュータ(Linux)に接続します。 bashコマンドの履歴をスクロールして長いコマンドを渡すと(特にプロンプ​​トのあるコマンドが行の終わりを過ぎて次の行に移動する場合)、スクロールし続けると他のコマンドが印刷されます。ただし、新しいコマンドが短い場合は、前のコマンドの文字の1つまたは一部を保持してください。たとえば、次のようになります。

[me@mine /some/where]$ the quick brown fox jumped over the lazy dog. the
quick brown fox jumped over the lazy dog.

[me@mine /some/where]$ another command altogether over the lazy do

[me@mine /some/where]$ yet another command jumped over the lazy do

今、すべての文字が保存されるわけではありません。また、これが常に発生するわけではありません。正確に何がこれを引き起こすのかよくわかりません。

ただし、cygwinを介さずにputtyなどを使用してリモートホストにsshを接続すると、この動作は発生しないため、Cygwinまたはそのbashに問題があるようです。

  • 一体何が起こったのでしょうか?
  • なぜですか?
  • 問題を解決/防止/解決できますか(clear実行に加えて)?

ベストアンサー1

Bashの行の長さに関する一般的な問題は次のとおりです。早くPS1)、通常は色を使用するように構成されています。エスケープシーケンスが\[andに含まれていない場合、\]bashはカーソル位置について誤った仮定をします。通常、次のような状況で報告されます。編集するコマンドだがスクロール歴史を見てみるとあまり変わりません。

ローカルカスタマイズがない場合PS1、次に見ているところは、端末の説明(値TERM)。 Cygwinが最近使用したminttyターミナルウィンドウで。その子孫です。putty ...TERM=xtermしかし、行動minttyと行動には違いがあります。xtermputty違いと同様)。走るtackたとえば、bw(backward-wrap) が正しくないことを示します。 bashはこれを直接使用しないようです(一部のスクリプトでは使用しますが)。将来のラップ()もam(で行うことができます)とは異なります。xtermvttest)、bashはxtermの動作にある程度依存する可能性があります。

Cygwinを使用してCygwinxtermと比較すると、minttyより良い比較が得られます。

おすすめ記事