ctrl + c seguido da seta para cima para editar os resultados de linha de comando anteriores em texto corrompido no gnome-terminal

1

Quando estou executando um programa, estou acostumado a matá-lo com ctrl-c e, em seguida, pressionar a seta para cima para recuperar uma linha de comando anterior e, em seguida, editar o texto e executá-lo novamente. No Ubuntu 14.04, quando uso backspace e digito novas letras, o que estou vendo no terminal e o que realmente está sendo executado não é o mesmo. Pressionar ctrl-c e depois de executar a nova linha de comando ruim revela o texto distorcido do que foi realmente executado - parece que eu estava no lugar do cursor e onde o terminal realmente estava em desacordo.

Se eu pressionar ctrl-c uma segunda vez depois que o aplicativo for encerrado, voltarei a uma linha de comando limpa e poderei pressionar e editar normalmente. Eu acredito que isso não precisa ser necessário, existe uma configuração que eu possa mudar para também resultar em uma boa linha de comando?

Terminal GNOME 3.6.2

$ stty -a
speed 38400 baud; rows 48; columns 100; 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
    
por Lucas W 31.08.2015 / 17:45

1 resposta

1

O que está acontecendo é que a interrupção está exibindo caracteres na nova linha, portanto, o prompt não está iniciando no início dessa linha. O resultado é que o lugar na linha onde a função de edição do shell pensa que você é não é realmente onde você realmente está.

A solução mais fácil é fazer algo como Ctrl C Entrar antes de acertar a seta para cima para entrar novamente na linha de comando mais recente. Ou continue com o seu método Ctrl C Ctrl C , que tem o mesmo resultado líquido, mas provavelmente é mais rápido de digitar.

    
por 17.09.2015 / 01:09