#macos #terminal #zsh #oh-my-zsh
#macos #терминал #зш #о-мой-зшш
Вопрос:
Я только что установил Sierra и хотел использовать zsh с oh-my-zsh и power shell…
В итоге я получил такой терминал, как этот:
Но я хочу добавить временную метку к каждому результату. Семетинг линке:
[14:23] acytryn ~ Projects %
Есть ли способ сделать это с помощью zsh?
Ответ №1:
Я счел более неразрушающим фактически добавлять время к существующему приглашению, не переопределяя его полностью. Это позволяет работать с любой существующей темой, не влияя на ее стиль.
Добавьте это в конец вашего .zshrc
файла. Вы можете ввести команду nano ~/.zshrc
для ее редактирования, используя nano
:
PROMPT='%{$fg[yellow]%}[%D{%f/%m/%y} %D{%L:%M:%S}] '$PROMPT
Я использую облачную тему, так что это дает мне:
Он сохраняет текущую тему. Вы также можете добавить некоторый стиль к метке времени, изменив цвет или даже формат.
Обязательно перезагрузите .zshrc
файл, набрав:
. ~/.zshrc
или
source ~/.zshrc
Комментарии:
1. Как поместить это в правой части экрана?
2. @ZulhilmiZainudin Похоже, что из этого поста может потребоваться немало работы: superuser.com/questions/187455/right-align-part-of-prompt . Вы можете попробовать что-то из приведенных там ответов и посмотреть, сработает ли это для вас. Однако я ничего из этого не пробовал
3. Потрясающе. Работает, как и ожидалось. Спасибо.
4. Если вам нужна только 24-часовая временная метка, вы можете использовать это
PROMPT='%{$fg[yellow]%}[%D{%T}] '$PROMPT
5. Небольшое упрощение: вы можете удалить среднюю
} %D{
часть. Так что у вас было быPROMPT='%{$fg[yellow]%}[%D{%f/%m/%y %L:%M:%S}] '$PROMPT
. Работает для меня так.
Ответ №2:
Если вы хотите, чтобы она была с правой стороны:
RPROMPT="[%D{%f/%m/%y} | %D{%L:%M:%S}]"
https://gist.github.com/zulhfreelancer/9c410cad5efa9c5f7c74cd0849765865
Комментарии:
1. как я могу добавить название дня в эту команду? и время ожидания до конца левой стороны
Ответ №3:
ДА. Просто откройте свой ~/.zshrc
файл и добавьте эту строку в его конец ( nano ~/.zshrc
например, используя команду в терминале).:
PROMPT='%{$fg[yellow]%}[%*] '$PROMPT
И вы получите это вот так:
Вы можете изменить [%*]
раздел, чтобы получить другие форматы:
%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.
Ответ №4:
добавьте это в конец вашего ~/.zsh
файла:
PROMPT='[%T] %n ~ %d %%'
Комментарии:
1. У меня нет файла .zsh… должно ли это быть в .zshrc? (Это все равно не сработало)
2. когда вы говорите «это все равно не сработало», что не сработало? помещаем его в .zshrc или даже вводим »
PROMPT='[%T] %n ~ %d %%'
» в вашу оболочку zsh, чтобы попробовать?3. Я добавил в последний файл .zshrc файл, запустил
source ~/.zshrc
, но ничего не изменилось. Я использую powerline-shell, я не знаю, мешает ли это как-то. Кроме того, вставка этого в приглашение напрямую не приводит к выводу4. powerline-shell использует
precmd
функцию для динамической установки значенияPROMPT
перед его отображением. Вам нужно следовать инструкциям на github.com/banga/powerline-shell чтобы изменить ваше приглашение.