Shortening my prompt in Zsh
Old question, I know, but as an alternative solution I just discovered powerlevel9k, an extension of agnoster (they appear practically identical bar a fair few tweaks), which has this functionality built in.
Just set it as your zsh theme, then in .zshrc set
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
which ensures that only two directories are listed.
Alternate options are outlined in the readme.
First you would have to copy the theme into a different one in order to customize it to your liking.
- Copy
agnoster.zsh-theme
to e.g.mytheme.zsh-theme
and select it in your.zshrc
- Then modify the theme to your liking
I looked at the agnoster theme and found a place where you could save space.
prompt_dir() {
prompt_segment blue $CURRENT_FG ' %~ '
}
could be changed to
prompt_dir() {
prompt_segment blue $CURRENT_FG ' %25<...<%~%<< '
}
This will truncate your path to 25 characters and replacing more with ...
How this works is described in the zsh manual (linked below).
Short explanation is:
%25<...<
will truncate everything that is longer than 25 characters to...
%<<
will basically tell zsh that anything after this should not be truncated (limiting the truncation to the path part)
I leave it to you to find more places where you can save space by.
And for more customization needs take a look at zsh: 13 Prompt Expansion