Erro de terminal? Personagens misturados

0

Estou usando o Ubuntu 14.04 e estou tendo um problema de caractere com meu terminal.

Este é o meu terminal quando escrevo um comando curto e este é o meu terminal quando eu escrevo um comando com mais do que os caracteres que podem caber em uma linha.

Eu tentei alterar várias fontes e ainda recebo o mesmo problema. Eu também tentei alterar o tamanho da fonte, mas ainda nada.

Além disso, se eu escrever um comando que é como o segundo link e tentar excluir os caracteres, as coisas ficarão feias. Quando eu começar a excluir os caracteres, o restante da linha desaparecerá, mas se eu pressionar enter, o comando será interpretado corretamente.

O que devo fazer?

    
por sokras 20.11.2014 / 10:24

1 resposta

0

Qual terminal é esse? Adicione a saída de echo $TERM à sua pergunta.

Isso pode acontecer quando você tiver seqüências de escape (geradas por tput ) em seu prompt que não está cercado por \[ e \] . Esses colchetes invertidos dizem ao Bash que as seqüências de escape não ocupam nenhum espaço horizontal na tela. Sem eles em torno das sequências de escape, Bash conta cada byte da sequência de escape como um caracter visível, o que atrapalha os comandos exibidos anteriormente à medida que você avança no histórico de comandos.

Fonte

Para verificar se você tem sequências de escape no seu prompt, use echo "$PS1" | od -c e procure caracteres com o valor 033 . Se você identificar esses, você terá seqüências de escape no seu prompt.

Se você encontrar 033 no seu prompt

Verifique onde o prompt PS1 está definido: grep -i ps1 .*|less

Em seguida, edite esse arquivo (geralmente está em .bashrc ) e coloque a seqüência em volta de \[ e \] .

    
por Jan 20.11.2014 / 10:33