local current_time="[%B%D{%T}%b]" local current_dir='%B%F{blue}%~%f%b' # user local user="%F{green}%n%f" # host local host="" if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then host='%F{yellow}%M%f' #SSH else host='%F{green}%M%f' # no SSH fi # vcs precmd() { setopt promptsubst autoload -Uz vcs_info zstyle ':vcs_info:*' enable git hg svn zstyle ':vcs_info:*:prompt:*' nvcsformats "" zstyle ':vcs_info:*:prompt:*' formats "[%F{cyan}%b%f%u%c]" vcs_info 'prompt' } local vcs='${vcs_info_msg_0_}' # prompt local return_code="%(?..%?)" local prompt="%(?.%F{green}->.%F{red}-%B${return_code}%b%F{red}->%{%})%f" PROMPT="${current_time} ${user}@${host} ${current_dir} ${vcs} |$prompt "