Por un tiempo, he tenido este problema persistente en todos mis terminales, desde el gnome default y tilda que utilizo hasta los que acabo de dar un giro rápido, donde mi entrada sobrescribirá el inicio de su propia línea cuando debería wrap, y solo wrapping en la siguiente línea.
Presionando Ctrl-A para regresar al inicio de la línea, en cambio, me devolverá a algún lugar en la línea antes de mi primera línea de entrada, desde la cual cualquier entrada más se vuelve muy extraña.
Debido a que esta es una explicación realmente mala y difícil de visualizar, así es como se ve:
¿Alguien sabe qué es esto? No solo sucede bajo ciertas circunstancias, es algo permanente que siempre está presente desde el principio hasta el final de cada sesión en cada emulador de terminal.
Salida de 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
Salida de 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
test
deje la terminal en un estado inestable. Si es un guión, ¿puede incluir eso en su pregunta? ¿Qué sucede si comienza a escribir sin ejecutar test
primero? ¿El texto se ajusta normalmente?
stty -a
por favor?
type -a test
lugar.
printf "%q\n" "$PS1"
? Puede haber secuencias de escape sin procesar dentro de PS1, y las %s
deja intactas (lo que podría, por ejemplo, cambiar el color de un lado a otro que permanece inadvertido en la salida). %q
cita todos los caracteres no imprimibles de forma legible.
printf "%s\n" "$PS1" "$COLUMNS"
, por favor.