OS X Lionでbashとscreenのデフォルトバージョンを使用しています。
スクリーンセッションでbashの履歴をスクロールバックすると、折り返すのに十分な長さのコマンドが表示されます。
最初にいくつかのコマンドを入力します。
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
上記のように適切に折り返されますが、bashの履歴からアクセスするために上に押した場合、コンソールには以下のみが表示されます。
83279836214c0.144847759343/
したがって、プロンプトとコマンドの最初の行全体が欠落しているため、編集が困難です。最初の行にスクロールして戻ると表示されますが、出力の最後の行が上書きされます。コマンドを実行すると、最初の行の残りが表示され、すべてが期待どおりに表示されます。
selassid@tem02:~$ ls ljmix/fiftyfifty_softsphere/T0.350/r2.43/0.565421311859c0.1
83279836214c0.144847759343/
total 1792
...
selassid@tem02:~$
さらに興味深いのは、履歴を使用して長いコマンドにアクセスしたがまだ実行していない場合、C-a
別のウィンドウに切り替えてから戻るなどの画面コマンドを使用するか、現在のターミナルウィンドウの外をクリックしてこれに戻ると、履歴コマンドが再び正しく表示されるようになりました。
私は、PS1='\u@\h:\w$ '
そうそこには何も奇妙な進行があります。
履歴を使用するときにコマンド全体を正しく表示する方法はありますか?私はスクリーンラップ設定で遊んでみましたが、状況が悪化するだけです。
stty -a
ショー:
speed 9600 baud; 46 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
TERM
is xterm-256color
and tput am; echo $?
just just 0.
stty -a
何ですか?