Algo que eu notei no Ubuntu por um longo tempo que tem sido frustrante para mim é quando eu estou digitando um comando na linha de comando que fica mais longo (maior) que a largura do terminal, em vez de embrulhar para uma nova linha, volta para a coluna 1 na mesma linha e começa a gravar o início da minha linha de comando. (Na verdade, ele não sobrescreve o comando real, mas visualmente está sobrescrevendo o texto que foi exibido).
É difícil explicar sem ver, mas digamos que meu terminal tenha 20 caracteres de largura (o meu é mais parecido com 120 caracteres - mas por exemplo), e eu quero repetir o alfabeto Inglês. O que eu digito é isto:
echo abcdefghijklmnopqrstuvwxyz
Mas o que meu terminal parece antes de apertar a tecla é:
pqrstuvwxyzghijklmno
Quando eu clico em enter, echos
abcdefghijklmnopqrstuvwxyz
então eu sei que o comando foi recebido corretamente. Ele apenas envolveu minha digitação após o "o" e começou na mesma linha.
O que eu esperaria que acontecesse, se eu digitasse este comando em um terminal com apenas 20 caracteres de largura, seria este:
echo abcdefghijklmno
pqrstuvwxyz
Antecedentes: Estou usando o bash como meu shell e tenho esta linha em meu ~ / .bashrc:
set -o vi
para poder navegar na linha de comando com comandos VI. Atualmente, estou usando o servidor Ubuntu 10.10 e conectando-me ao servidor com o Putty.
Em qualquer outro ambiente em que trabalhei, se eu digitar uma longa linha de comando, ele adicionará uma nova linha abaixo da linha em que estou trabalhando quando meu comando ficar maior que a largura do terminal e quando eu continuar digitando eu posso ver meu comando em 2 linhas diferentes. Mas enquanto me lembro de usar o Ubuntu, meus comandos longos ocupam apenas uma linha.
Isso também acontece quando eu estou voltando aos comandos anteriores no histórico (eu apertei Esc, então 'K' para voltar aos comandos anteriores) - quando eu chego a um comando anterior que era maior que a largura do terminal, o a linha de comando fica desconfigurada e não posso dizer onde estou no comando.
A única solução alternativa que encontrei para ver todo o comando longo é pressionar "Esc-V", que abre o comando atual em um editor de VI.
Eu não acho que tenha algo estranho no meu arquivo .bashrc. Eu comentei a linha "set -o vi", e ainda tive o problema.
Baixei uma nova cópia do Putty e não fiz nenhuma alteração na configuração - acabei de digitar meu nome de host para me conectar, e ainda tenho o problema, então não acho que seja nada com Putty (a menos que Eu preciso fazer algumas alterações de configuração)
Alguém mais teve esse problema e alguém pode pensar em como corrigi-lo?
Editar
Era meu arquivo .bashrc. Eu copiei o mesmo perfil de máquina para máquina, e usei caracteres especiais no meu $ PS1 que de alguma forma o estão jogando fora. Agora estou seguindo as variáveis bash padrão para meu $ PS1.
Obrigado a @ ændrük pela dica no .bashrc!
... Fim da edição ...