Show directory and git branch in iTerm tabs
Do you want to quickly be able to tell which project an iTerm tab is associated with, like this:
Set your PROMPT_COMMAND appropriately:
export PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}$(__git_ps1 :%s)\007"'
This is for bash. Zsh does not have PROMPT_COMMAND; instead you would define the precmd
function. Escaping is slightly different in zsh, but other than that it should be straightforward.
The project name corresponds to the repo's directory name. I use bash's parameter extraction to get the directory name without the full path. PWD##*/
takes the full path of the working directory and deletes everything matching up to the last slash.
The __git_ps1
function is provided by git-prompt.sh.
Written by Martin Svalin
Related protips
4 Responses
If you want to show the currently running command when you're not at the prompt, you can set the iterm title in a DEBUG trap.
All in all, my solution is:
function iterm_title { echo -ne "\033]0;$@\007"; }
trap 'iterm_title $BASH_COMMAND' DEBUG
export PROMPT_COMMAND='iterm_title ${PWD##*/}$(__git_ps1 :%s)'
I implemented the bash solution in zsh here: https://gist.github.com/teoljungberg/5772474
nice! thanks!
That was easy :presses red button: