My RPROMPT
está definido para exibir informações svn usando vcs_info
. Lê RPROMPT=${vcs_info_msg_0_}
. vcs_info
é chamado usando precmd()
. No entanto, o RPROMPT não é atualizado quando altero os diretórios. Funciona apenas se eu chamar o prompt novamente (por fonte ~ / .zshrc ou prompt) e não mudar no chdir, a menos que eu chame o prompt novamente. Existe alguma maneira de mudar esse comportamento?
11
setopt PROMPT_SUBST
tenha ocorrido anteriormente no arquivo. Caso contrário, ele ecoará o prompt literalmente.O uso de aspas simples para atrasar a avaliação também funciona para definir aliases dinâmicos. Aqui está um alias,
t
usado para anexar um novo shell a um processo existente do agente ssh, que foi iniciado com um alias chamadossh-start
que grava o código do shell em um arquivo em um homedir:Essa definição de
t
é ruim porque faz com que novas informações de uma nova execuçãossh-start
sejam ignoradas. Alterar a definição de alias det
ser citado individualmente no meu arquivo .zshrc oferece um comportamento muito melhor:Observe a expansão da definição
t
conforme fornecida porwhich t
, mostrando os efeitos de aspas duplas (expansão imediata imediata de comandos ou variáveis de ambiente) versus aspas simples (avaliação atrasada de comandos e variáveis).fonte