22

Я хочу добавить метку времени в мою командную строку в oh-my-zsh. Это текущая тема приглашения (robbyrussell):

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

Любая идея, как можно добавить метку времени?

3 ответа3

33

Согласно справочной странице zshmisc, есть несколько кодов % для даты и времени, например:

 %D     The date in yy-mm-dd format.
 %T     Current time of day, in 24-hour format.
 %t %@  Current time of day, in 12-hour, am/pm format.
 %*     Current time of day in 24-hour format, with seconds.
 %w     The date in day-dd format.
 %W     The date in mm/dd/yy format.
 %D{strftime-format}

Последний позволяет использовать коды, перечисленные в справочной странице strftime(3). Отредактируйте ваш файл ~/.zsh и добавьте в конце новое значение PROMPT, например:

 PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} %D %T % %{$reset_color%}'
14

Если вы хотите добавить дату / время справа, вы устанавливаете RPROMPT

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
RPROMPT="[%D{%y/%m/%f}|%@]"

7

Я добавил этот %D{%m/%f/%y}|%D{%L:%M:%S} к основной теме, чтобы отобразить дату и время в виде mm/dd/yy | hh:mm:ss

Итак, вот полная команда, которую я использую:

PROMPT='%D{%m/%f/%y}|%D{%L:%M:%S} ${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}${NEWLINE}$ '

Который дает:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .