端末入力が正しく折り返されない、またはまったく折り返されない


15

しばらくの間、私はすべての端末でこの永続的な問題を抱えていました。両方の使用するgnomeのデフォルトとtildaから、すぐに旋回を与えたものまで、入力が必要なときに独自の行の先頭を上書きしますラップし、次の行でのみラップします。

Ctrl-Aを押して行の先頭に戻ると、代わりに、最初の入力行の前の行のどこかに戻りますが、そこからの入力は非常に奇妙になります。

これは非常に悪い説明であり、視覚化が難しいため、次のようになります。

Screencap:行折り返しテスト

誰がこれが何であるか知っていますか?これは特定の状況下でのみ発生するものではなく、すべてのターミナルエミュレータのすべてのセッションの開始から終了まで常に存在する永続的なものです。

の出力printf "%s\n" "$PS1" "$COLUMNS"

leod:~$ printf "%s\n" "$PS1" "$COLUMNS"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 
80

の出力stty -a

leod:~$ stty -a
speed 38400 baud; rows 11; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

3
の出力を追加してprintf "%s\n" "$PS1" "$COLUMNS"ください。
ムル

プログラムtestが端末を不安定な状態にしてしまう可能性があります。スクリプトの場合、質問にそれを含めることができますか?test最初に実行せずに入力を開始すると、テキストは正常に折り返されますか?
WinEunuuchs2Unix

1
の出力stty -aもご覧ください。
スチールドライバー

1
@ WinEunuuchs2Unixの間違ったテスト(意図的なしゃれ)。type -a test代わりに試してください。
ムル

1
の出力はprintf "%q\n" "$PS1"何ですか?PS1の中に生のエスケープシーケンスがあり、%sそれらをそのままにします(たとえば、出力で気付かないまま色を前後に変更する場合があります)。%q印刷できないすべての文字を読みやすい方法で引用します。
エグモント

回答:


7

端末がウィンドウサイズを正しく認識していない可能性があります。U&L Stackexchange関連する質問を見つけましたが、誰かがこれが起こっているかどうかをチェックする以下の方法を提案しました:

タイプ

shopt | grep checkwinsize

出力が以下の場合:

checkwinsize    on

使用できます

shopt -s checkwinsize

有効にするために。無効化するには:shopt -u checkwinsize


1
おそらく私は十分にテストしなかったが、私checkwinsizeはすでにonでした。私が使用しshopt -u checkwinsize、それをオフにすると、私の端末はまだテキストを正確に包まれました。この答えが本当にOPの問題を解決するかどうかはわかりません。
WinEunuuchs2Unix

鮮やかさ。これが必要な修正です。コマンドラインラップは、80文字をはるかに超えて完全に機能するようになりました。
ランディ

@Randy Gladがあなたのために働いたことを聞いてうれしいです!
ヒジン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.