When you open terminal you will see that it defaults the information that you see on the prompt, which can use up quite a bit of the screen real estate.
Last login: Sat Jan 14 11:13:00 on ttys000
cp363412~$
Customize the zsh Prompt in Terminal
Typically, the default zsh prompt carries information like the username, machine name, and location starting in the user’s home directory. These details are stored in the zsh shell’s system file at the /etc/zshrc location.
PS1="%n@%m %1~ %# "
In this string of variables:
- %n is the username of your account.
- %m is the MacBook’s model name.
- %1~ means the current working directory path where the ~ strips the $HOME directory location.
- %# means that the prompt will show # if the shell is running with root (administrator) privileges, or else offers % if it doesn’t.
Below are a few other options that I have used previously:
\h The hostname, up to the first . (e.g. andrew)
\H The hostname. (e.g. andrew.ninja.com)
\j The number of jobs currently managed by the shell.
\l The basename of the shell's terminal device name.
\s The name of the shell, the basename of $0
(the portion following
the final slash).
\w The current working directory.
\W The basename of $PWD.
\! The history number of this command.
\# The command number of this command
To change this, open Terminal, type the following command, and hit Return:
nano ~/.zshrc
Below is my favourite, which will just display your login name (use Ctrl + X to exit and save):
PROMPT='%n$ '
I prefer to see the path (less the home directory) in the prompt:
PROMPT='%n:%1~$ '
You can pick a font colour from black, white, yellow, green, red, blue, cyan, and magenta. Here’s how to use them:
PROMPT='%F{cyan}%n%f:~$ '
There are more modifications to this, but this is as far as i go 🙂