I've been really digging oh-my-zsh recently for extending zsh, comes with a great plugin architecture and all sorts of cool shit: http://github.com/robbyrussell/oh-my-zsh
It doesn't give you info about whether you have staged files (but maybe it should). But it gives you a bunch of other neat stuff, like whether you're in a git-rebase or git-am operation
It definitely can tell you whether you have staged files, because I use it for that among other things. I don't remember how I turned that feature on, but it wasn't hard. Perhaps someone will chime in with the details.
This seems to be a large difference in people's work flows. Some of us like to remember things like what branch we're in, the file system structure of our project so we can edit in vim without needing NERDtree or some other IDE that organizes stuff, we like to know our libraries so we don't need auto-completion, and then there's the opposite people. For myself, I think the remember-for-me tools have their place, and I'm a fan of Flex's Flash Builder IDE even though I use vim for everything else, so I won't begrudge someone for choosing not to remember something. That's what doc is for.
On the other hand, in this case I frequently just use 'git status' which reports my branch anyway among other info I want to double-check just in case I somehow forgot, and this is really just a neat shell trick rather than being really useful, like the one that prints a green ':)' when the last command succeeded and a red ':(' when it failed...
It seems a lot simpler to just type "git br" (or, heck, "gb") when I care. Usually I have a good reason for being in a particular branch, though I tend to check before doing merging anyway.
When I want to fiddle with minor configuration details, hey, bash and zsh users have nothing on emacs. ;)
Nope, me too. I can see maybe using a prompt like this temporarily, or putting this info in an XTerm's title, but I spend most of my time on the command line and really don't want crap like this distracting me.
My prompt on localhost is always "$ " or "# ", but I add user and host on remote machines to avoid making any big mistakes on the servers I manage.
Come to think of it, I do actually keep that info around, I just put it in the status line* in tmux or dwm, rather than cluttering my shell prompt with it. I guess that's a different post, though!
which has system load, time, battery (on laptops), etc. "pra" = "pranaferox", my desktop. (I usually have a lot more shells open than that, but I turned everything off while installing a new light in the ceiling earlier.)
When I care about the former (and I often do), I just prefix it with time. "time make bench" etc. The real / user / system break down is more meaningful than just wall clock time.
I love that vcs_info works with more than just git. Having my prompt tell me what VCS I'm under (even knowing the difference between git and git-svn) and what branch I've got checked out helps me mentally switch gears as soon as I cd into a directory.