É possível realçar (definir uma cor de fundo) para toda a linha do prompt zsh
? Na minha configuração do emacs, tenho a linha na qual o cursor fica com uma cor ligeiramente diferente do fundo da janela, o que é uma grande ajuda visual. Gostaria de saber se é possível fazer o mesmo no meu prompt do terminal / zsh, para que efetivamente "desenhe uma linha" sob tudo o que foi executado.
Eu tentei definir PROMPT='%{$bg[grey]%}# '
no meu, .zshrc
mas o destaque só se estende tanto quanto eu digito, não até a borda do terminal.
É o que estou tentando alcançar possível?
Você pode fazer o que quiser com a linha de prompt * - o aspecto problemático é conseguir desfazê- lo posteriormente. Suponho que você não queira que todas as linhas que já foram exibidas sejam exibidas em suas cores do crepúsculo.
Seria quase mais fácil excluir a linha depois, mas você não terá seu comando. Talvez exclua o prompt e repita o comando (com um pseudo-prompt como
$
). Você pode fazer com que o prompt inicie com uma seqüência de salvamento do cursor ANSIESC [s
, em umaprecmd
restauraçãoESC [u
e limpe tudo após o cursorESC [0J
e depois ecoe o comando (não me lembro de como obter o comando por dentroprecmd
).* Esta é uma resposta incompleta, não sei como fazer com que ocorra o comando com uma cor de fundo diferente.
fonte
Se eu mudar
grey
parawhite
, seu exemplo realmente funciona para mim.Qual terminal você está usando? Talvez ele lida com a cor de fundo apagar de forma diferente?
Aqui estão algumas alternativas para tentar:
Atribua um fundo cinza a toda a linha de prompt:
(deve ser o mesmo que o seu exemplo, mas com uma maneira diferente de escrevê-lo.)
Imprima uma linha antes do prompt:
(Se você mudar
"\n"
para"\r"
, ele deve sublinhar a linha atual, mas isso parece não funcionar. Acho que o zsh apaga a linha atual ao imprimir o prompt, e foi isso que me levou à primeira solução.)Torne os comandos (ou seja, tudo o que você digita) em negrito:
fonte