I've been using fish for the past few months and the jury is still out. On one hand, the out of the box behavior and configurability is fantastic, and by default it is very pleasing to the eyes.
On the other hand, on my macOS there was a noticeable lag after I hit enter on a command that is not in bash. I also have very little attention span for figuring out fish's unique function loading system to pimp my shell like I would bash.