Como posso alterar meu prompt para incluir caracteres Unicode de desenho de caixa?

4

Como posso obter um $PS1 contendo caracteres de desenho de caixa?

Estou correndo bash, se isso faz diferença.

    
por Wuffers 05.12.2010 / 18:02

2 respostas

9

Se você tiver um editor com suporte a UTF-8, poderá inserir os caracteres de desenho de caixa Unicode e formas geométricas diretamente. Algo como:

PS1='┌─[blah][blah]
└─▪ '

Escreva isso em um arquivo usando o editor e, em seguida, digite o arquivo na sua sessão bash com source ./myfile . Quando você estiver pronto para mantê-lo, adicione-o ao seu arquivo .bashrc.

A outra maneira mais antiga de fazer isso é usar códigos de escape VT100 para alternar para o conjunto de caracteres de desenho de linha do terminal. Neste caso, sua linha PS1 é assim:

PS1='\[\e(0\]lq\[\e(B\][blah][blah]
\[\e[0\]mq~\[\e(B\] '

Os \[ e \] informam que essas partes do prompt não são impressas, o que ajuda a saber onde o cursor está ao fazer a edição da linha de comando. O \e(0 alterna para o conjunto de caracteres de desenho de linha e o \e(B retorna. Enquanto no modo de desenho de linha:

  • l é ┌
  • q é ─
  • m é └
  • ~ é ▪

Você pode criar uma lista completa executando coisas como printf '\e(0 qwertyuiop \e(B \n' no prompt do bash.

    
por 05.12.2010 / 22:07
0

Aqui está uma amostra muito boa de PS1 diferente:

O que você quer é isso:

Você terá que mudar um pouco, mas os elementos estão lá. Eu sugiro que você dê uma olhada aqui para mais informações:

por 05.12.2010 / 18:14