Este é um estranho.
Em alguns dos meus sistemas Debian - mas não todos - eu fico com uma estranha corrupção em certos programas de terminal, como nano
. Isso não acontece, no entanto, ao usar less
. Neste caso em particular, estou usando o Debian 7.9 "Wheezy" 64-bit. Eu instalei um monte de pacotes, mas o IIRC sabe que esse problema aconteceu mesmo em uma instalação nova.
O problema é o seguinte. Eu abro um documento de texto grande (ou seja, um com várias páginas) em nano e, usando as teclas do cursor, percorra-o. Sempre que o cursor passa abaixo da parte inferior da tela, o documento salta para metade da página. Isto é, naturalmente, normal. O que não é normal, no entanto, é o fato de que somente a metade inferior da tela é atualizada!
Da mesma forma, quando eu movo o cursor para o topo, a página anterior é mostrada, mas somente a metade superior da tela é atualizada.
Isso é melhor ilustrado, eu acho, com ilustrações reais. Por favor, considere a seguinte imagem de um arquivo fictício contendo apenas números de linha:

Temqueserumafotografia,porqueoproblemanãoocorreporssh.Também,estranhamente,nãoocorreseeuemitirprimeiroocomandoscreen
.
Deslocoocursorparabaixodalinha43eaconteceoseguinte:

Observecomoametadeinferiordatelaéatualizada,paramostraraslinhasapartirde44,enquantoametadesuperiorpermaneceinalterada.
Seeumovernovamenteocursorparaaparteinferiordatela,issoaconteceránovamente:

Maisumavez,ametadeinferiordatelafoiatualizadaparamostraraslinhascomeçandoem66,enquantoametadesuperiordatelapermaneceinalterada.
Seeumoverocursorparaotopodatela,ametadesuperiorexibiráomesmoproblema:
Como você pode ver, a metade superior da tela foi atualizada para mostrar linhas de 23 a 44, enquanto a metade inferior não mudou, e ainda mostra linhas começando com 67.
No momento, estou usando o shell zsh
, mas o mesmo problema ocorre em bash
. Portanto, não é um problema específico do shell.
As variáveis $lines
e $columns
estão vazias; e a variável TERM
está definida como xterm-256color
.
Então ... por que isso acontece, e o que posso fazer sobre isso? Obrigado.