Copiar / colar não funciona corretamente ao alterar cores de prompt

0

Abra um prompt, tente fazer isso:

  • digite este código: export PS1="\e[1;30m-30-\e[m >"
  • copie-o com o mouse (selecione o código + copie-o (tenho cópia automática quando seleciono com o mouse ativado))
  • feche o prompt
  • abrir um novo aviso
  • cole-o imediatamente (SHIFT INS)
  • digite a tecla "HOME" e a tecla "END", você verá o cursor indo para posições lógicas (início e fim do código)
  • agora pressione ENTER
  • você solicita alterações nas cores
  • cole-o imediatamente (SHIFT INS)
  • digite a tecla "HOME" e a tecla "END", você verá o cursor indo para as posições ilógicas (problema de deslocamento)

Isso significa que, se eu aplicar cores ao prompt, não posso copiar / colar + alterar meu código copiado ...

NB: Eu estou perguntando aqui porque eu pensei que era um problema de wsltty aqui mas parece está relacionado apenas ao que estou tentando atribuir: export PS1="\e[1;30m-30-\e[m >" ... e não vejo problema. Ele deve apenas alterar as cores do prompt (e é isso que ele faz na verdade). Mas parece que faz algo mais que eu não vejo. Alguém sabe o que poderia ser?

    
por Olivier Pons 29.10.2018 / 12:49

2 respostas

3

Você precisa incluir seqüências de escape em pares de \[ e \] ou você terá esse problema de deslocamento.

    
por 29.10.2018 / 13:44
0

user1274247 está certo, você precisa incluir seqüências de escape.

Veja como é o meu PS1.

\[3]0;\u@\h:\w
\[3]0;\u@\h:\w%pre%7\]\[3[01;31m\]\h\[3[01;34m\] \w \$\[3[00m\]
7\]\[3[01;31m\]\h\[3[01;34m\] \w \$\[3[00m\]
    
por 29.10.2018 / 13:59

Tags