Как поменять $PS1 на Macbook на oh-my-zsh?

Я пытаюсь найти переменную PS1 в oh-my-zsh и изменить ее, чтобы iTerm не выглядел забитым. Выполнение следующей команды:

echo $PS1

дает мне это

%{%f%b%k%}$(build_prompt)    

Кроме того, я попытался отредактировать файл .zshrc и поместить

export PS1="random-text"

но это не сработало. Я попытался найти переменную PS1, но не смог ее найти.

Если это также поможет, я запускаю El Capitan на своем ноутбуке прямо сейчас. Я не смог найти вопросы, похожие на то, что я разместил, поэтому любая помощь будет принята с благодарностью.


person Daniel Dao    schedule 09.02.2016    source источник
comment
Ответы о macOS Catalina zsh см. здесь: stackoverflow.com/a/58563434/990971   -  person efkah    schedule 27.11.2019
comment
Вопросы о настройке вашей оболочки как пользователя, а не как разработчика, как правило, более актуальны на Unix & Linux. или Суперпользователь.   -  person Charles Duffy    schedule 01.07.2021


Ответы (3)


Изменение темы:

Чтобы отредактировать подсказку в oh-my-zsh, вам нужно отредактировать переменную PROMPT в вашей теме вместо PS1. В вашем файле .zshrc вы найдете строку, которая выглядит примерно так:

ZSH_THEME="themename"

oh-my-zsh хранит эти темы в папке ~/.oh-my-zsh/themes. Если вы ls ~/.oh-my-zsh/themes, вы увидите список тем, которые вы можете изменить. Вышеупомянутая тема будет называться themename.zsh-theme в этом каталоге.

Настройка темы:

Если вам нужен простой способ настроить тему oh-my-zsh, вы можете скопировать файл, уже находящийся в этой папке темы, и отредактировать его.

Чтобы изменить подсказку, просто отредактируйте переменную PROMPT. Например:

PROMPT=">>"

Это сделает вашу подсказку двумя >.

Мне нравится редактировать уже существующую простую тему. файл simple.zsh-theme выглядит так:

PROMPT='%{$fg[green]%}%~%{$fg_bold[blue]%}$(git_prompt_info)%{$reset_color%} '

ZSH_THEME_GIT_PROMPT_PREFIX="("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
ZSH_THEME_GIT_PROMPT_DIRTY=" ✗"
ZSH_THEME_GIT_PROMPT_CLEAN=" ✔"

Применение изменений:

Теперь просто измените тему в своем файле .zshrc:

ZSH_THEME="simple"

И перезагрузите oh-my-zsh командой:

. ~/.zshrc
person Caleb Adams    schedule 12.02.2016
comment
Чтобы создать новую тему, ее нужно добавить в список ~/.oh-my-zsh/custom/themes/ каталог - person Devin; 30.05.2019
comment
Добавлено в комментарий @Devin выше, вот официальный документ о переопределении и добавлении новых тем github.com/ ohmyzsh/ohmyzsh/wiki/Настройка - person onelaview; 10.12.2019
comment
Вам не нужна никакая тема. Просто в файле .zshrc добавьте PROMPT='%. $ ' Он должен работать. - person Pavol Travnik; 10.02.2021
comment
I like editing the already existing simple theme: вы не объясняете, как вы его редактируете. Или вы имеете в виду изменить свой prompt с помощью simple theme? Вы также можете написать, куда поместить переменную theme в файле .zshrc. - person Timo; 15.06.2021

Важное обновление от 1 июля 2021 г. Вчера я увидел посвящение этому ответу. Таким образом, приведенная ниже команда может больше не работать. Просто попробуйте POWERLEVEL10K прямо сейчас.

Для POWERLEVEL9K, если вы его используете

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)

PS: Попробуйте POWERLEVEL10K, он намного лучше. Поверьте мне

person Alvin Smith    schedule 06.03.2020

Чтобы отредактировать PS1 в zsh:

PS1='[random-text]'
person blondeau    schedule 16.12.2019