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 less
tinha. Isso afetou todos os programas que less
também usam, como man
. A causa, descobri, foi a LESS
variável de ambiente, que lista os argumentos a serem passados automaticamente less
sempre que for invocada. A opção LESS
que causou isso foi -X
:
-X
ou--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-screen
sem --no-init
”que se você desabilitar -X
/ --no-init
, deverá desabilitar -F
/ --quit-if-one-screen
também (se estiver configurado).
Para corrigir less
para que ele sempre restaure sua tela ao sair, altere o valor de LESS
no arquivo de inicialização do shell apropriado. Isto será .bashrc
para Bash, .zshenv
para Zsh e .config/fish/config.fish
para 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 $LESS
antecipadamente para ver os sinalizadores existentes para copiar em sua instrução export
/ .set
Responder3
Eu descobri! Tudo o que preciso fazer é definir $TERM
como xterm
. Costumava serlinux
export TERM=xterm
Obrigado pelo link e dicas, David!