| |||||||
adm | Find | login register |
真是奇怪,我的 zenwalk 的 terminal 不管是 rxvt/xterm/gnome-terminal 都不會在命令列 wrap,也就是指令很長的時候,會從同一行的最左邊蓋過去原先出現的指令內容。 查了一下,這可以設在 inputrc,就是 set horizontal-scroll-mode off,問題是這個本來就是預設值,而且設成 off 以後還是一樣。難道是我的 termcap 壞掉了??? edited: 1
| |||||||||||||
$ 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 | |||||||||||||
edt1023:~$ stty -a
哇咧,這個東西太複雜了。 | |||||||||||||
應該是 termcap / terminfo 爛掉了。 我的 stty -a 和 LGJ 的差別只有一個 "-iutf8" | |||||||||||||
我換過 BSD 的 termcap,而換了多種 TERM,還是一樣,真是詭異極了。 | |||||||||||||
termcap 很久沒人 maintain 了,主流的 distro 應該都是用 terminfo (ncurses) zenwalk 還在用 termcap 嗎? 另外,VTE 有一個 cut-down version of the termcap,gnome-terminal 有可能是用 VTE 提供的 termcap。 | |||||||||||||
我用了 rxvt source code 的 termcap,也編譯了一個新的 rxvt terminfo,還是一樣。我覺得這是某個 lib 的 bug,只是暫時找不到是哪裡出問題。 | |||||||||||||
找到原因了,在我的 .bashrc 裡頭有一段: PS1='^[[03;31m\u:\w\$ ^[[0m' 原來這樣是不行的,要把 non-printable 的部份保護起來: PS1='\[^[[03;31m\]\u:\w\$ \[^[[0m\]' 害我東懷疑西懷疑的找了大半天。Orz |
| |||||||
adm | Find | login register |