cht電腦資訊Linux
adm Find login register

readline horizontal-scroll-mode

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
1subject: readline horizontal-scroll-modePromote 0 Bookmark 02009-05-25quote  

真是奇怪,我的 zenwalk 的 terminal 不管是 rxvt/xterm/gnome-terminal 都不會在命令列 wrap,也就是指令很長的時候,會從同一行的最左邊蓋過去原先出現的指令內容。

查了一下,這可以設在 inputrc,就是 set  horizontal-scroll-mode off,問題是這個本來就是預設值,而且設成 off 以後還是一樣。難道是我的 termcap 壞掉了???


edited: 1
eliu

joined: 2007-08-09
posted: 11482
promoted: 617
bookmarked: 187
新竹, 台灣
2subject: Promote 0 Bookmark 12009-05-25quote  
$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd 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

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
3subject: Promote 0 Bookmark 02009-05-25quote  

edt1023:~$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd 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

哇咧,這個東西太複雜了。


caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
4subject: Promote 0 Bookmark 02009-05-26quote  

應該是 termcap / terminfo 爛掉了。

我的 stty -a 和 LGJ 的差別只有一個 "-iutf8"

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
5subject: Promote 0 Bookmark 02009-05-26quote  
caleb
應該是 termcap / terminfo 爛掉了。

我的 stty -a 和 LGJ 的差別只有一個 "-iutf8"

我換過 BSD 的 termcap,而換了多種 TERM,還是一樣,真是詭異極了。


caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
6subject: Promote 0 Bookmark 02009-05-26quote  
LGJ

 

我換過 BSD 的 termcap,而換了多種 TERM,還是一樣,真是詭異極了。

termcap 很久沒人 maintain 了,主流的 distro 應該都是用 terminfo (ncurses)

zenwalk 還在用 termcap 嗎?

另外,VTE 有一個 cut-down version of the termcap,gnome-terminal 有可能是用 VTE 提供的 termcap。

本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
7subject: Promote 0 Bookmark 02009-05-26quote  

我用了 rxvt source code 的 termcap,也編譯了一個新的 rxvt terminfo,還是一樣。我覺得這是某個 lib 的 bug,只是暫時找不到是哪裡出問題。


本人已不在此站活動

joined: 2007-09-19
posted: 4946
promoted: 325
bookmarked: 206
歸隱山林
8subject: Promote 2 Bookmark 12009-05-27quote  

找到原因了,在我的 .bashrc 裡頭有一段:

PS1='^[[03;31m\u:\w\$ ^[[0m'

原來這樣是不行的,要把 non-printable 的部份保護起來:

PS1='\[^[[03;31m\]\u:\w\$ \[^[[0m\]'

害我東懷疑西懷疑的找了大半天。Orz


cht電腦資訊Linux
adm Find login register
views:22915