Which one has your preference? And how do you deal with different environments and shells (e.g. SSH into a server and you're using Bash i.o. your own preferred local shell)?
[0] http://zsh.sourceforge.net/
[1] http://fishshell.com/
[2] https://www.gnu.org/software/bash/