Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I change my $PS1 on a Macbook for oh-my-zsh?

I'm trying to find the PS1 variable in oh-my-zsh and change it so iTerm doesn't look as clogged up. Running the following command:

echo $PS1 

gives me this

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

Additionally, I've attempted to edit the .zshrc file and put

export PS1="random-text" 

but it didn't work. I've tried to look around for the PS1 variable, but couldn't locate it.

If it also helps, I'm running El Capitan on my laptop right now. I couldn't find any similar questions to what I posted so any help would be greatly appreciated.

like image 950
Daniel Dao Avatar asked Feb 09 '16 00:02

Daniel Dao


People also ask

How do I change zsh prompt on Mac?

To make any change to the default zsh prompt, you'll have to add relevant values for the prompt to appear differently than the default. It'll be blank if you're accessing it for the first time. You can add a new line with the text PROMPT='...' and include relevant values in the ellipses.

How do I change my zsh font?

To change font in the Core Shell on your Mac, choose Core Shell > Preferences, then click General and choose a built-in font from the font panel.


2 Answers

Changing your Theme:

To edit your prompt in oh-my-zsh you need to edit a PROMPT variable in your theme instead of PS1. In your .zshrc file you will find a line that looks something like this:

ZSH_THEME="themename" 

oh-my-zsh stores these themes in the ~/.oh-my-zsh/themes folder. If you ls ~/.oh-my-zsh/themes you will see a list of themes that you can change. The above theme would be named themename.zsh-theme in this directory.

Customizing your Theme:

If you want a simple way to customize your oh-my-zsh theme you can copy a file already in this theme folder and edit that.

To change your prompt simply edit the PROMPT variable. For example:

PROMPT=">>" 

This would make two >'s your prompt.

I like editing the already existing simple theme. the simple.zsh-theme file looks like this:

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=" ✔" 

Applying the Changes:

Now just change the theme in your in your .zshrc file:

ZSH_THEME="simple" 

And reload oh-my-zsh with:

. ~/.zshrc 
like image 157
Caleb Adams Avatar answered Nov 05 '22 05:11

Caleb Adams


Important update 1st July, 2021. I saw devote for this answer from yesterday. So the below command might not work anymore. Just try POWERLEVEL10K now.

For POWERLEVEL9K if you're using it

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) 

PS: Try POWERLEVEL10K, it's much better. trust me

like image 32
Alvin Smith Avatar answered Nov 05 '22 05:11

Alvin Smith