Para reconocer mejor el inicio y el final de la salida en una línea de comando, deseo cambiar el color de mi solicitud, de modo que sea visiblemente diferente de la salida de los programas. Cuando uso zsh, ¿alguien puede darme una pista?¿Cómo puedo cambiar el color de mi aviso en zsh (diferente del texto normal)?
Respuesta
Aquí hay un ejemplo de cómo configurar un indicador rojo:
PS1=$'\e[0;31m$ \e[0m'
La magia es el \e[0;31m
(gire en primer plano rojo) y \e[0m
(desactivar atributos de caracteres). Estas se llaman secuencias de escape. Las diferentes secuencias de escape le dan diferentes resultados, desde el posicionamiento absoluto del cursor, hasta el color, hasta la posibilidad de cambiar la barra de título de su ventana, y así sucesivamente.
Para más información sobre las secuencias de escape, ver the wikipedia entry on ANSI escape codes
poner esto en ~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
Colores admitidos:
rojo, azul, verde, cian, amarillo, magenta, Negro & blanca (de this answer) aunque diferentes computadoras pueden tener diferentes opciones válidas.
Códigos de color envolvente (y cualquier otro carácter no imprimible) con %{....%}
. Esto es para que el ajuste del texto funcione correctamente.
Estoy de acuerdo, de lejos es la respuesta superior (por suerte, esta fue el tercer resultado de Google ;) – new123456
no funciona para mí. :( 'zsh: colores: archivo de definición de función no encontrado' – balki
¿Está utilizando ZSH4? No creo que funcione en versiones inferiores a la 4.3.11. Si tiene la última versión quizás no esté utilizando los archivos correctos. –
Zsh viene con instrucciones de color integradas. Trate
autoload -U promptinit && promptinit
y luego prompt -l
listas de instrucciones previas disponibles, -p fire
el "fuego" del sistema, -s fire
conjuntos de TI.
Cuando esté listo para agregar un indicador de añadir algo como esto debajo de la línea de carga automática arriba:
prompt fade red
No lo sé. Gracias. –
Más uno para mostrar la forma oficial. – Lokesh
¿Hay alguna manera de colorear todos los temas? Me gusta el indicador de walters pero, wo A uld le gusta en rojo. –
No creo que la autoload -U colors && colors
se necesita más y uno puede simplemente hacer:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
para lograr el mismo resultado que FireDude's answer. Vea el ZSH documentation para más información.
FYI. Acabo de probar en Ubunutu 11.04 y los colores no funcionaron para mí sin 'autocarga -U colores && colors' –
Weird. Funciona para mí en OS X y Ubuntu 10.04. –
@Andrew Marshall Sí, pero es más probable que funcione con 'autocarga '. –
hombre zshall y la búsqueda de EXPANSIÓN RÁPIDA
Después de leer las respuestas existentes aquí, varios de ellos son contradictorios. Probé varios enfoques en sistemas que ejecutan zsh 4.2 y 5+ y encontré que la razón por la cual estas respuestas son contradictorias es porque no dicen a qué versión de ZSH se dirigen. Las diferentes versiones usan una sintaxis diferente para esto y algunas requieren varias autocarga.
Por lo tanto, la mejor opción es probablemente para man zshall y buscar PROMPT EXPANSION para conocer todas las reglas para su instalación particular de zsh. Tenga en cuenta que en los comentarios, cosas como "Uso Ubuntu 11.04 o 10.4 o OSX" no son muy significativos ya que no está claro qué versión de ZSH está usando. Ubuntu 11.04 no implica una versión más nueva de ZSH que ubuntu 10.04. Puede haber varias razones por las que se instaló una versión anterior. De hecho, una versión más nueva de ZSH no implica qué sintaxis usar sin saber qué versión de ZSH es.
he encontrado que, con zsh5 (la opción por defecto en Debian Jessie), todas estas soluciones funciona:
$'\e[00m
$fg[white]
$fg{white}
Ahora, tienen un problema: moverán el cursor, lo que dará como resultado una calcomanía fea al tabular (para autocompletar). La solución es simplemente rodear las secuencias de escape con %{FOOBAR%}
. Me tomó un tiempo entender esto. Para la 2ª y 3ª soluciones cargando el módulo colors
es obligatorio. Para mantener la primera solución legible, solo defina variables para los colores que usa.
- 1. ¿Cómo puedo cambiar el color del texto en IFrame
- 2. Cambiar el color del texto en MoreNavigationController
- 3. Cambiar el color del texto en Eclipse
- 4. Cambiar el color del texto en el campo de texto
- 5. ¿Cómo puedo cambiar el color del texto con jQuery?
- 6. ¿Cómo cambiar el color del texto seleccionado?
- 7. Cómo cambiar el color del texto/fuente en reportlab.pdfgen
- 8. ¿Cómo cambiar el color del cursor sin cambiar el color del texto?
- 9. ¿Cómo cambiar el color del texto de IcsSpinner en ActionBarSherlock?
- 10. zsh change prompt input color
- 11. Cómo cambiar el color del texto en Highcharts
- 12. Android: ¿Cómo cambiar el color del texto de ProgressDialog?
- 13. ¿Cambiar el color del cristal Aero para mi ventana?
- 14. Cambiar el color del texto del botón cuando se selecciona
- 15. Botón personalizado de Android; cambiar el color del texto
- 16. ¿Cómo cambiar el color del texto en JtextArea?
- 17. ¿Cómo cambiar el color del texto seleccionado en Internet Explorer?
- 18. ¿Cómo puedo cambiar el color del texto en el indicador de comando de Windows?
- 19. ¿Cambiar el color del texto del cuadro de grupo?
- 20. cómo cambiar el flash del dispositivo [: aviso] en los rieles
- 21. Cambiar el color del texto tachado en css
- 22. Python | cambiar el color del texto en shell
- 23. Barra de acciones de Sherlock cambiar el color del texto
- 24. ¿Cambiar el color del cursor de texto (cursivo) en Cocoa?
- 25. ¿Cómo puedo cambiar el color predeterminado del botón en iPhone?
- 26. NSTableView Cambiar el color del texto de una fila
- 27. C# ¿Cómo puedo configurar el color del texto en richtextbox?
- 28. Cambiar el color del texto del shell (Windows)
- 29. ¿Cómo puedo cambiar el color del título de UIButton?
- 30. Cambiar el color del texto resaltado en Android
Muchas gracias, eso ayuda. – Mnementh
Estoy usando PROMPT = '[%!]' En mi .zshrc. ¿Cómo puedes colorearlo? Me ejecuta sin éxito PROMPT = '\ e [0; 31m [%!] \ E [0m' en mi .zshrc. –
@Masi try $ 'string' – balki