Vi no Xenix: por que em vez de rolar a linha sobrescrever a linha atual?

1

No Linux e no antigo Unix (por exemplo, & quando eu rolar a linha vejo o texto no Xenix a linha de leitura atual é "sobrescrevendo" a tela. Olhe para vídeo , você entende do que estou falando

Como resolver? É um problema terminal ou alguma opção com o vi?

    
por elbarna 13.10.2015 / 21:40

1 resposta

4

É um problema com sua configuração (nem o terminal nem o programa).

A conexão através do minicom parece uma conexão de porta serial (ou modem). O vi está obtendo o tamanho de tela a partir de alguma configuração predefinida para a conexão ou obtém a partir da descrição do terminal. Não tem como detectar as dimensões reais da tela. Existem algumas soluções habituais:

  • use um programa (ou script) que atualize o tamanho de tela conhecido pelo sistema remoto. Se não for demasiado arcaico, tem stty , que mostraria o tamanho como rows e columns , por exemplo, na saída de "stty -a". Em sistemas menos antigos, o programa resize é bom para que (mas lembro-me de minicom como falta de recursos do VT100 - de modo que provavelmente não iria funcionar). Mas, mesmo sem ele, se o seu stty exibir esses valores (talvez errados), você poderá substituí-lo, por exemplo, stty rows 24 .
  • substitua o programa definindo as variáveis de ambiente LINES e COLUMNS
  • modifica a descrição do terminal na máquina remota. Por exemplo, pode ser um termcap, onde existe algo como ": li # 40: co: 80:". Como regra geral, os programas que dependem do termcap assumem que o tamanho de tela adequado está no arquivo termcap.
por 14.10.2015 / 02:37

Tags