Right now my iTerm2 looks like this...
Everything is the same color and is hard to read. Can I make any of the Prompt, Command, and Output different colors like this?
There's a pretty exhaustive description of editing the bash prompt here there might be some linux specific stuff, but most of it is generic bash stuff.
But just for getting started, I recommend this bash profile generator
It is pretty simple, so I've since learned more and my prompt looks like:
using:
[[ -s "/Users/dwightk/.rvm/scripts/rvm" ]] && source "/Users/dwightk/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="🍔 \[\033[01;35m\]\u@\h:\[\033[01;34m\]\$(parse_git_branch) \[\033[01;32m\]\w \[\033[01;34m\]\n>\[\e[0m\]"
which is pretty useful when dealing with git. Everything before the export PS1=
is what enables the git branch to appear.
The 🍔 is from my first foray into bash prompt editing after I read this blog post.
AFAIK there is no any UNIXy way to color anything else than the prompt.
But as you asked for an iTerm2 solution you are in luck! Use the Triggers feature to color text matching regexp.
For example if your prompts looks like this:
..then add in iTerm -> Preferences -> Profiles -> Advanced -> Triggers , [Edit] a Trigger like this:
..that will match the command part of each line, which will start to look like this:
Voilà - you have different colors for prompt, command and output! :)
\e[95m
at the end of your PS1 var and that would do it
Commented
Mar 26, 2019 at 20:08
The iTerm solution works but there seems to be a slight delay in the coloring. If one stops typing for a second, the whole line is colored as expected.
Here's what worked for me. Try it and let me know.
http://dobsondev.com/2014/02/21/customizing-your-terminal/
The approach involves adding some instructions to your bash profile.
If you are using zsh you could do like this:
Add this code into your ~/.zshrc file
autoload -Uz vcs_info
precmd() { vcs_info }
precmd_functions+=( precmd_ves_info)
zstyle ':vcs_info:git:*' formats ':%b'
PROMPT='🍔 %F{040}%n%f at %F{166}%m%f in %F{031}${PWD/#$HOME/~}%f%F{magenta}${vcs_info_msg_0_}%f %# '
Then reload your profile
source ~/.zshrc
I like this example because it shows a bit of how you can use colour codes or colour names