¿Cómo puedo hacer que los comandos aparezcan en negrita en zsh?


18

He configurado mi shell bash para que cualquier comando que escriba aparezca en negrita y la salida de los comandos se muestre en peso normal:

ingrese la descripción de la imagen aquí

Hice esto agregando \e[01mal final de mi PS1variable para activar negrita, y usando trap DEBUGpara desactivarlo:

trap 'printf "\e[0m" "$_"' DEBUG

De esa manera, \e[0mse imprime antes de que se ejecute cada comando y obtengo el peso normal de la fuente en la salida.

¿Cómo haría para obtener el mismo efecto zsh?

Respuestas:



7

Lo que quieres es la función de enlace preexec :

preexec() { printf "\e[0m"; }

Luego, antes de ejecutar cada comando, preexecse ejecutará para restablecer su fuente a la normalidad.

Entonces, para obtener el mismo mensaje que muestra en su pregunta, agregue estas líneas a su ~/.zshrc:

autoload -U colors && colors
PS1="%{$fg_bold[yellow]%}%n@%m %{$fg[blue]%}%~ \$ %{$reset_color%}%{$fg_bold[white]%}"
preexec() { printf "\e[0m"; }

Eso es lo correcto para usar en lugar de una trampa DEPURAR, pero tampoco es la forma correcta de poner en negrita la línea de comando.
Gilles 'SO- deja de ser malvado'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.