Добавьте временную метку к теме «oh-my-zsh robbyrussell»

27

Я хочу добавить метку времени в мою командную строку в 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]%})"

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

yossi.ittach
источник

Ответы:

42

Согласно справочной странице 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) . Отредактируйте ваш ~/.zshrcфайл и добавьте в конце новое значение PROMPT, например:

 PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} %D %T % %{$reset_color%}'
meuh
источник
Это не остается после того, как я закрываю окно терминала. Я должен делать исходники ~ / .zsh каждый раз, как мне этого избежать?
user391339
1
В моем ответе была опечатка. Файл для использования ~/.zshrcне является ~/.zsh.
meuh
22

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

local ret_status = "% (?:% {$ fg_bold [зеленый]%} ➜:% {$ fg_bold [красный]%} ➜)"
PROMPT = '$ {ret_status}% {$ fg [cyan]%}% c% {$ reset_color%} $ (git_prompt_info)'
RPROMPT = "[% D {% г /% м /% F} |% @]"

введите описание изображения здесь

Эктор Вильярроэль
источник
2
с правой стороны это определенно идет лучше, так как в левой подсказке у меня уже есть много материала
WhoSayIn
1
в моем случае nano ~/.zshrcи добавил в RPROMPT="%{$fg[yellow]%}[%D{%f/%m/%y}|%@]"качестве последней строки, чтобы установить правильное приглашение с желтым цветом
Виктор Р. Оливейра
1
@ VictorR.Oliveira, вы хотели бы добавить %{$reset_color%}в конце, чтобы желтый не испортил остальные строки.
Раф
8

Я добавил это %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}$ '

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

введите описание изображения здесь

iamaziz
источник
0

Чтобы получить полную дату и время

[Вс 11 августа 2019 20:41:53 AEST]

Я ставлю

RPROMPT = "% {$ фг [зеленый]%} [% D {% с}]"

в моем файле ~ / .zshrc

user1074460
источник