My RPROMPTestá configurado para mostrar información svn usando vcs_info. Se lee RPROMPT=${vcs_info_msg_0_}. vcs_infose llama usando precmd(). Sin embargo, RPROMPT no se actualiza cuando cambio los directorios. Funciona solo si invoco el indicador nuevamente (ya sea por fuente ~ / .zshrc o indicador) y no cambia en chdir, a menos que invoque el indicador nuevamente. ¿Hay alguna forma de cambiar este comportamiento?
11

setopt PROMPT_SUBSThaya ocurrido anteriormente en el archivo. De lo contrario, solo hará eco del aviso literalmente.El uso de una comilla simple para retrasar la evaluación también funciona para definir alias dinámicos. Aquí hay un alias,
tutilizado para adjuntar un nuevo shell a un proceso de agente ssh existente, que se inició con un alias llamadossh-startque escribe el código de shell en un archivo en un homedir:Esa definición de
tes mala porque hacessh-startque se ignore la información nueva de una nueva ejecución . Cambiar la definición de alias detser citado individualmente en mi .zshrc proporciona un comportamiento mucho mejor:Observe la expansión de la definición de
tcomo se proporcionawhich t, mostrando los efectos de las comillas dobles (expansión inmediata en el lugar de comandos o variables de entorno) frente a comillas simples (evaluación retrasada de comandos y variables).fuente