One of the most critical parts of having a streamlined command line experience is your prompt. Throughout a normal day, you'll see your prompt thousands of times. Customizing it with relevant information can drastically improve your workflow.
Here's a screenshot of the default Mac OS X bash prompt:
Here's an example of a customized prompt:
For the purpose of this post I'll be focusing on the configuration framework I use: Prezto1. It's easy to install using the instructions on the official repo.
Included Themes
Just by installing Prezto you'll have 21 great themes. To give one of these themes a try, you can type:
prompt THEME_NAME
This will load the theme into your current session. If you'd like to load the theme for all future sessions, modify this line in your ~/.zpreztorc
file:
zstyle ':prezto:module:prompt' theme 'THEME_NAME'
The Prezto repo doesn't have a great showcase of their themes like the oh-my-zsh theme wiki, so here's a rundown of all 21 Prezto themes:
-
minimal
-
nicoulaj
-
peepcode
-
sorin
-
steeef
-
adam1
-
adam2
-
bart
-
bigfade
-
clint
-
elite
-
elite2
-
fade
-
fire
-
off
-
oliver
-
pws
-
redhat
-
suse
-
walters
-
zefram
User Themes
I've found a few high quality themes that haven't made it to the official Prezto repo yet. Check them out below.
To install these themes, copy the prompt_THEME_setup
file into your ~/.zprezto/modules/prompt/functions
folder.
Note: For the powerline and paradox themes, you'll need a Powerline-patched font.
Custom Themes
I've been toying with creating my own custom Prezto theme lately, but haven't finished anything substantial. When I create something worth sharing, I'll make another post.
If you're thinking of creating your own theme, I would recommend checking out the source for the current themes in ~/.zprezto/modules/prompts
.
Happy theming!
1. I talk more about choosing between the two most popular configuration frameworks, oh-my-zsh and Prezto, in my post A Beautifully Productive Terminal Experience. ↩