Problemas com o cursor no histórico do Terminal Mac / iTerm

13

Freqüentemente, eu executo um comando no Terminal.app ou no iTerm, pressione a seta para cima para voltar a editá-lo e o cursor pula para a linha acima ou em algum lugar totalmente no lugar errado. Isso acontece especialmente quando o comando é tão longo que passa para a próxima linha. Às vezes, esses comandos longos aparecem em uma linha e, às vezes, são exibidos corretamente em várias linhas.

Isso acontece no iTerm e no Terminal.app

Também acontece nos modos vi e emacs, tornando-os praticamente inutilizáveis.

alguma ideia? obrigado!

carrilhão
fonte

Respostas:

20

É mais provável porque sua definição de prompt inclui sequências que não devem ser contadas no comprimento do prompt, como as que definem cores. Essas seqüências devem estar entre \[e \]para impedir que seu comprimento seja contado. Aqui está um exemplo que produz um prompt todo vermelho:

PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'
Pausado até novo aviso.
fonte
Esta linha está no arquivo de configuração (como .bashrcou .bash_profile), para qualquer pessoa - como eu - que não tem noção depois de ler a resposta.
montrealist