I've been using the original fish[1] for years. I'm very biased, I love fish for many reasons and despite the claims that zsh can do the same things I've never had cause to switch from it. Now it was quite disappointing to see the original fish project seemingly halted. So this isn't simply great news, in the sense that development has been picked back up in the fishfish fork, some great improvements have been made at the same time!
* autosuggestion
(this actually has a great amount of utility for me.
it complements tab-completion quite well!)
* optional web-based config
(great for quickly editing your config settings)
* speed improvements
(although I never suffered from much lag with fish
to begin with)
Overall I think the usability and utility of fish is greatly improved in this fork. Also it's worth pointing out that in terms of out-of-box functionality, some of fishfish features would be very hard to match. Things like autocompletion and simple history scrollback based one partial string matching set fish apart from the pack imo. So far, I'm quite impressed and I hope that more people adopt fishfish as the de facto replacement for fish.
Yes. zsh can also auto-complete command line arguments for a lot of commonly used commands (including the GNU utilities, git, mutt, mplayer, imagemagick's convert and others.)
Bash too can do that. It does by default in Debian for instance, it also does cool things like autocompleting filenames based on which command is already typed (so it won't autocomplete to some pdf filename if the command is mplayer), autocompletion depending on config files (alias from ~/.ssh/config and /etc/hosts, remotes from the git config, package names when the command is apt-*…).
About fish, for the history based autocompletion of commands, how is that different from Bash's C-r?
Bash has completion, of course, but does it have autocompletion? Big difference as getting completions without hitting the tab key changes how you interact with the line editor.
People say this kind of thing a lot, but I’m pretty sure it’s simply not true. bash-completion handles pretty much everything I can imagine already, and can be extended to handle anything you can express programmatically.
[1] http://fishshell.com/