5 ms·
My Extravagant Zsh Prompt
- grayrest 16y agoIf anybody's interested, here's my considerably less extravagant Zsh prompt[1]. It shows the current directory along with what top level directory you're in on the right prompt along with VCS info. The left side shows backgrounded jobs marked with pipes but otherwise is just a $ so command lines wrap less frequently. It uses the vcs_info functionality from zshkit[2]. [1] http://gr.ayre.st/s/screenshots/git/git_working.png http://gr.ayre.st/s/screenshots/git/git_working.png [2] https://github.com/mattfoster/zshkit https://github.com/mattfoster/zshkit function prompt_grayrest_setup { unset PS1 PS2 PS3 PS4 PROMPT RPROMPT autoload colors zsh/terminfo if [[ "$terminfo[colors]" -ge 8 ]]; then colors fi # Colours accepted as arguments local u_col=${1:-'green'} local h_col=${2:-'blue'} local d_col=${3:-'yellow'} local d_col_pre='blue' local job_color='yellow' local n_tru=${4:-'blue'} local n_fal=${5:-'yellow'} # looks like: ee1mpf@eepc-tsar16 ~ $ ps1=( # "%{$fg_bold[$u_col]%}%n@" # "%{$fg_bold[$h_col]%}%m " "%1(j.%{$fg_bold[$job_color]%}.)" "%4(j.%{$reset_color$fg[$job_color]%}[%{$reset_color$fg_bold[$job_color]%}%j%{$reset_color$fg[$job_color]%}] .%3(j.||| .%2(j.|| .%1(j.| .))))" "%{$reset_color%}" "%{%(?.$fg[$n_tru].$fg[$n_fal])%}$ " "%{$reset_color%}" ) ps2=( "%_ %{$fg[$d_col]%}-> " "%{$reset_color%}" ) rps1=( '%{$fg[$b_col]%}${vcs_info_msg_0_}%{$reset_color%}' " %{$fg[$d_col]%}%(4~.%{$fg[$d_col_pre]%}%-1~%{$fg[$d_col]%} %2~.%3~) %{$reset_color%}" ) PS2="${(j::)ps2}" PS1="${(j::)ps1}" RPS1="${(j::)rps1}" }
- freedrull 16y agoWhy oh why do you need your battery life displayed in your prompt? There are plenty of other places to display it.
- DTrejo 16y agoI hope he also has the number of unread emails in there.
- jodrellblank 16y agoBecause he works "from coffeeshops and client meetings pretty often, so it’s nice to have a reminder of my remaining battery power to know when I need to plug in". Didn't you read it?
- SkyMarshal 16y agoIf you've got all your space-wasting menu bars on auto-hide and are just using Gnome-do/Synapse/cmdline/etc. to run stuff, it would be useful.
- billmcneale 16y agoI agree. There is a lot of screen estate these days, even on laptops, so why not save the shell window for stuff that is actually useful in the shell window and that can only be displayed in that window? The current git branch makes sense, as does the current directory, but I'm having a hard time finding the point in anything else cluttering my shell window.
- there 16y agobecause his command prompt runs so many extra commands and causes so much disk activity every time he hits enter, it wastes battery quick enough that he needs to monitor it.
- JoshTriplett 16y agoI took the minimal approach with my prompt. Under normal circumstances, my prompt looks like this: ~$ I only show the username and hostname in my prompt if remote or unusual: [ -n "$SSH_CONNECTION" ] || [ "$USER" != "josh" ]. If either of those, I prefix my prompt with "user@host:". Apart from that, I show the exit status of the last command run, if non-zero. In general, I try to hide all boring information and show useful information only.
- flexd 16y agoI just use oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh https://github.com/robbyrussell/oh-my-zsh) to quickly enable half these things. ➜ civ5replays git:(master) ✗ Looks like that now, the X means uncommited changes. civ5replays being the folder, the rest being... the rest!
- honza 16y agoI love how Steve's articles get rediscovered and resubmitted over and over.
- metabrew 16y agoMy favourite prompt-hack is to colourise the $ when the previous command exits non-zero, here's how I have my bash PS1 set up: http://www.metabrew.com/article/updated-bash-ps1 http://www.metabrew.com/article/updated-bash-ps1 If you exit `top` by pressing q, it exits with non-zero - who knew? :)
- yogsototh 16y agoMay I suggest to use this prompt for git users[1]. I use it daily and I am really happy with it. [1]: http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/ http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/