Alguma maneira de corrigir o manuseio incorreto da tela de quebra de linha? (Talvez apenas o Terminal.app)

9

Estou tendo um problema ao usar a tela e o Terminal.app. Se eu receber um prompt do bash na parte inferior da tela e continuar digitando até que a linha passe para a próxima linha, vejo a próxima linha, mas não vejo a linha acima dessa alteração.

Aqui está uma maneira visual de ilustrar meu problema. O | representa o lado direito do terminal.

Antes. Meu cursor está após o terceiro 'exemplo' e estou prestes a digitar 'exemplo' uma quarta vez:

$ asdf                        |
bash: asdf: command not found |
$ example example example     |

Depois de. Observe que, após o empacotamento, a tela não rolou, mas 'comeu' a linha em que eu estava e começou de novo:

$ asdf                        |
bash: asdf: command not found |
ple                           |

O que eu esperava (e o que acontece sem o uso da tela) é que a tela inteira role uma para baixo após a quebra.

bash: asdf: command not found |
$ example example example exam|
ple                           |

Por fim, é isso que acontece se eu mover o cursor na linha quebrada para o início da linha de comando, ele come a linha anterior:

$ asdf                        |
$ example example example exam|
ple                           |

alguma ideia do que está acontecendo?

AlexMax
fonte
O Terminal GNOME e a tela 4 são agrupados conforme o esperado aqui, FWIW. Qual versão você está executando e alterou as configurações do padrão?
Bernard
Isso acontece quando conectado a duas máquinas diferentes. Minha máquina debian possui a tela 4 com algumas configurações personalizadas, e minha caixa rhel 5.3 também possui a tela 4 sem configurações personalizadas e ambas as caixas exibem exatamente o mesmo comportamento.
AlexMax # 25/09
Eu tenho exatamente o mesmo comportamento. Outro sintoma (não descrito acima) é que, depois que a linha anterior é "comida", coisas estranhas acontecem com as seleções. Comece a selecionar com o mouse, e o que estiver abaixo da seleção parecerá correto. Ex: se você selecionasse a linha "$ asdf" no último exemplo acima, ela mudaria repentinamente para "bash: asdf: comando não encontrado" (que é o que a linha anterior deve dizer). É como se a tela apenas não redesenhou essas linhas, mas deveria ter. É como se estivesse esquecendo de marcar essas linhas como sujas, precisando ser renderizadas novamente.
Eddified
A qualquer momento, ele começa a ficar ruim, basta selecionar todos (COMMAND + A) para fazer o buffer da tela parecer correto.
Eddified
Além disso, isso não é um problema no iTerm.app
Eddified

Respostas:

7

Sucesso! Eu tentei a sugestão daqui:

/server/272818/screen-not-dropping-down-a-line

que é adicionar:

termcapinfo xterm* ti@:te@

para sua .screenrctela e reinicie. Isso altera o comportamento de rolagem da tela para algo provavelmente melhor para o meu caso de uso médio (por exemplo, eu posso usar a rolagem do Terminal enquanto permanecer na mesma janela), além de corrigir o problema do OP.

Além disso, posso confirmar o problema no Terminal.app da 10.7.

Nate
fonte
Bom trabalho de detetive! Infelizmente, eu sou um usuário pesado de várias janelas da tela, então isso não funcionará para mim.
AlexMax
ele não funciona para mim também, quando eu ssh para outro servidor, que é onde estou correndo para o problema. não tenho certeza se pode ser especificado como este difíciltermcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' ti@:te@
Brian Thomas
2

Pode ser o 'modo de rolagem horizontal' da readline. Execute o seguinte comando:

bind 'set horizontal-scroll-mode off'

e veja se seus sintomas mudam. Nesse caso, você pode configurá-lo em ~ / .inputrc

wfaulk
fonte
1
não ajudou no meu caso.
Eddified
0

Vá para as configurações do terminal e altere a configuração "Declarar terminal como:" de "xterm-color" para apenas "xterm". Isso foi corrigido para mim (mas também tem a consequência de desativar o altscreen :()

Eddificado
fonte
Já configurei o Terminal.app dessa maneira e não me ajuda com o meu problema. o modo de rolagem horizontal está desativado por padrão, de acordo com a página de manual da tela, e não vejo onde ele está ativado. Vadio. Realmente gostaria de encontrar uma solução para isso.
Tim Harper