No se puede poner "X" a la derecha para indicar el número de trabajos en Zsh
-
03-07-2019 - |
Pregunta
Este el código del artículo no trabaja para mi. He pegado todo su código a mi .zshrc.
Tengo lo siguiente en mi .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
Debería indicar si tienes trabajo o no. Sin embargo, no hace eso por mí.
Me gustaría obtener una X a la derecha para indicar que tiene un trabajo en ejecución.
¿Cómo puede tener un indicador correcto que muestre X si tiene más de un trabajo en Zsh?
Solución
El código que estás utilizando no funcionará porque está intentando usar la variable $ psvar
, que no has establecido. Probablemente ese artículo lo mencionó en otra parte.
De todos modos, para mostrar el número de trabajos en el RPROMPT
, use
<*>gt; RPROMPT="%1(j.X.)"
gt; RPROMPT="%j Job(s)"
Para que muestre una 'X' si tiene al menos un trabajo en ejecución, use
<*> Busque en la sección PROMPT de la página de manual de zshmisc
, o tome un enlace: http://www.manpagez.com/man/1/zshmisc/ . Explica todas las secuencias de expansión que puede usar para mostrar información en su indicador.
Otros consejos
Parece que le faltan corchetes adicionales a la izquierda de sus secuencias de escape ANSI, además, no creo que \ [
esté haciendo lo que espera.
Esto es lo que quieres:
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
Sin embargo, puede que le resulte más útil para la solicitud mostrar cuántos trabajos están en segundo plano:
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
Nota : los ^ [
anteriores son caracteres de escape literales, por ejemplo, 0x1B
. En la línea de comandos (o en el modo de inserción de Vim, si está usando Vim para editar su .zshrc
), presione Control-V y luego Control- [para insertar un carácter de escape.