Me gustaría poner mi rama actual git
en mi línea de comandos ZSH de varias líneas. Sin embargo, esto arruina las dos líneas: me gustaría que se alineen muy bien.Longitud de la cuenta de la cadena visible por el usuario para el indicador de zsh
┌─([email protected]:s000)─[master *]────────────────
───(~ )─┐
└─(127:15:44)── ──(Sat,May12)─┘
debería ser:
┌─([email protected]:s000)─[master *]─────────(~ )─┐
└─(127:15:44)── ──(Sat,May12)─┘
La rama git
se agarró de una función oh-my-zsh
, git_prompt_info()
, que me da la rama, el estado sucio, y un montón de pronta-escapa a colorear las cosas muy bien.
¿Cómo cuento los caracteres que serán visiblemente insertados en el indicador ZSH - no las secuencias de escape de aviso?
'(S)' hace juego no expansivo convirtiendo así “coincidencia más larga” en “coincidencia más corta posible” (sin ella '{*}' en un patrón a su vez, algo así '% F {azul}% M% F {amarillo}% #% f' en solo'% # ', mientras que debería convertirlo en'% M% # '),' (%%) 'realiza la expansión de solicitudes en el cadena, siguiendo las PROMPT_ * opciones. Nota: este método debe evitarse si la cadena PROMPT contiene un comando con algunos efectos secundarios: por ejemplo, si desea usarlo para contar con qué frecuencia se muestra el mensaje. La mayoría de las veces no sufrirás de esto. – ZyX
Y sí, todos los indicadores '(*)' se describen en la sección PARÁMETRO DE EXPANSIÓN de 'man zshexpn'. – ZyX
@ZyX Gracias. Vi la explicación de 'S' en la página' zshexpn', pero no estaba seguro de cómo encajaba. – simont