limpeza de tela GNU no vim, menos, etc. Saída

6

Sou muito novo na tela, mas configurei meu arquivo ~ / .screenrc de acordo com várias recomendações que encontrei na internet. Eu tenho um problema com ele, que tenho certeza que poderia ser resolvido com muita facilidade; Eu acho que é uma configuração termcap ..?

Após usar menos, vim, top ou outros programas no bash independente (no Mac OSX 10.6), ao sair desses programas, o buffer do terminal será limpo e a linha acima da linha de comando atual será o comando anterior que eu inseri.
No entanto, com a tela, quando eu sair de qualquer um desses programas, o buffer de tela não vai limpar / atualizar e eu ainda vou ver o que eu estava olhando dentro desse programa .. Faça sentido ??

por exemplo. em bash autônomo (sem tela): -

hostname:~ auser$ vim afile 
[do stuff in file, then :q to exit]

Depois de sair, vou ver: -

hostname:~ auser$ vim afile 
hostname:~ auser$

Mas na tela: -

bash-3.2$ vim afile
[do stuff in file, then :q to exit]

Depois de sair, vou ver uma tela inteira de: -

~  # [Empty lines in vim are represented by these tilda characters. ]
...
~  # [ Every line on the screen is one of these tildas ]
bash-3.2$   # [ This is the bottom line in the terminal ]

Espero que isso faça algum sentido. Qualquer & tudo ajuda muito apreciada! TIA

    
por Alex Leach 16.05.2011 / 11:32

2 respostas

6

A resposta está nas capacidades do terminal do terminal "real" que você está usando e no terminal que é apresentado aos aplicativos via screen . Aplicativos executando suas E / S de terminal via screen , consulte um terminal do tipo screen . Seu terminal "real" pode ser qualquer coisa de xterm a vt100 . (Use printenv TERM ou equivalente para descobrir.)

Os aplicativos da TUI, como vim e less , adaptam seu comportamento a qualquer terminal com o qual se encontrem conversando. Essa resposta é muito curta para uma exposição detalhada da mecânica do mecanismo terminfo , ou mesmo para a mecânica de como programas como vim e less fazem uso dela. Existem livros inteiros sobre essas coisas. Um resumo muito breve é que seu terminal "real" está anunciando uma capacidade que o terminal screen não é.

Além disso, é claro, isso já foi respondido no SuperUser longamente, aqui e aqui e aqui .

    
por 16.05.2011 / 15:26
5

coloque altscreen on em ~/.screenrc ou Controle + a :altscreen + Retornar

    
por 20.06.2016 / 05:44