Como deixar o shell retornar à linha anterior após sair de um processo de tela inteira como o Vim

Como deixar o shell retornar à linha anterior após sair de um processo de tela inteira como o Vim

eu me conecto aShell Zem uma máquina Red Hat Enterprise Linux 6.2 viaMassa. Depois de sair de um processo de tela inteira, por exemplo, Vim e menos, no shell Unix, o prompt do shell inicia na última linha da tela. A tela acima ainda mostra o contexto desse processo, então perdi todas as coisas que o shell mostrava antes de abrir o processo.

Isso não acontece na minha própria caixa do Ubuntu, onde depois de sair de um processo, volto para a linha abaixo do último comando que digitei.

Quais opções posso alterar (talvez em zshrc?) Para que ele se comporte como minha caixa Ubuntu?

Responder1

Eu também vi esse problema. Verifique suas configurações do PuTTY em Terminal-> Recursos. Se a opção "Desativar mudança para tela de terminal alternativa" estiver marcada, desmarque-a. (Todas as minhas configurações nessa página estão desmarcadas.) A ajuda para essa opção parece promissora.

Falhando naquilo,esta páginaDescobri que pesquisando no Google pode lhe dar algumas idéias. Você pode definir algumas coisas terminfo para que funcione corretamente.

Responder2

Depois de corrigir esse problema há muito tempo, me deparei com um problema semelhante, onde o Vim não tinha esse problema, mas lesstinha. Isso afetou todos os programas que lesstambém usam, como man. A causa, descobri, foi a LESSvariável de ambiente, que lista os argumentos a serem passados ​​automaticamente lesssempre que for invocada. A opção LESSque causou isso foi -X:

-Xou--no-init

Desativa o envio das strings de inicialização e desinicialização do termcap para o terminal. Às vezes, isso é desejável se a sequência de desinicialização fizer algo desnecessário, como limpar a tela.

Eu também aprendi comUnix e Linux – “ less --quit-if-one-screensem --no-initque se você desabilitar -X/ --no-init, deverá desabilitar -F/ --quit-if-one-screentambém (se estiver configurado).

Para corrigir lesspara que ele sempre restaure sua tela ao sair, altere o valor de LESSno arquivo de inicialização do shell apropriado. Isto será .bashrcpara Bash, .zshenvpara Zsh e .config/fish/config.fishpara Fish. A este arquivo, adicione o comando export LESS='<all the flags you want, without -X or -F>', ou set -gx LESS <flags>para fish. Você pode executar echo $LESSantecipadamente para ver os sinalizadores existentes para copiar em sua instrução export/ .set

Responder3

Eu descobri! Tudo o que preciso fazer é definir $TERMcomo xterm. Costumava serlinux

export TERM=xterm 

Obrigado pelo link e dicas, David!

informação relacionada