Every now and again I give Fish a try, think how great it is, and then try to do something like `sudo !!` and give up in a fit of rage.<p>I understand the desire to avoid using the special chars but the alternative (using the cursor keys) is just too cumbersome. It turns out that when you use the shell for everything, efficiency is the thing that matters the most.<p>Not complaining - I'm not the target audience - I just find it an interesting observation about usability.
Incidentally, I've been using fish for a while, and it's really nice. Coworkers wandering past while I'm working have been known to stop and state; the fish autocompletion/history magic is really impressive if all you've known before is the standard bash Ctrl-R stuff. And once you get used to it, and huge productivity boost, especially if you work a lot with tools like HTTPie.<p>(And while compatibility with tools which expect bash gets brought up a lot, I've had zero issues. YMMV.)
<p><pre><code> """
[...]
Configurability is the root of all evil
Every configuration option in a program is a place where the program is too stupid to figure out for itself what the user really wants, and should be considered a failure of both the program and the programmer who implemented it.
[...]
"""
</code></pre>
That's so wrong. Providing configurability is flexibility. No programmer will ever know what the user really wants. The most he could do, is to define the most reasonable default values. But there are freaks out there who love to do stuff differently.
It breaks many bash one-liners and other commands, today I discovered I cant `git merge HEAD@{1}` because fish shell strips the curly braces. Its good but it can be quite annoying sometimes.
I tried fish, but their vi line editor mode was a bit broken, so I tried to rebind some keys, which was also broken.<p>I really dislike the anti-customization bent they have. It has 'sensible defaults' but it is extremely painful or impossible to change them. I went back to ZSH.
I used to use Fish but switched over to zsh due to the better support. It'd be great to see Fish get more popular in the open-source community as I'd love to give it another try.
One of the things that I found really helpful for using Fish is importing all the variables and aliases in bash_profile into Fish the config. This way when I go through install processes that automatically append configurations to bash_profile they get carried over to my Fish config painlessly.<p>Here's a recent blog post describing this strategy:<p><a href="https://blog.gospodarets.com/fish-shell-the-missing-config" rel="nofollow">https://blog.gospodarets.com/fish-shell-the-missing-config</a>
If I were using a 'real' shell, I'd probably be using Fish. However, since I pretty much live in emacs, I spent the time to configure eshell to do what I need and it works well enough, and gives me the ability to manipulate the results as text. There are a few funny edge cases and quirks to get used to, but they are few enough that it is a viable option for my purposes.
Fish sensible defaults can go a long way and the scripting language is fairly easy to pick up. If you want more that what's provided out of the box, then check out Fisherman: <a href="http://fisherman.sh" rel="nofollow">http://fisherman.sh</a>
Tackle/Tacklebox is rarely updated and still has open issues from up to 2 years ago.<p>Fisherman supports Tackle modules and functions, so if you are using Tackle, you can migrate to Fisherman without any hassle and still reuse and enjoy their plugins.<p>+ <a href="http://fisherman.sh" rel="nofollow">http://fisherman.sh</a>
Tackle/Tacklebox is rarely updated and still has open issues from up to 2 years ago.<p>Fisherman supports Tackle modules and functions, so if you are using Tackle, you can migrate to Fisherman without any hassle and still reuse and enjoy their plugins.<p>+ <a href="http://fisherman.sh" rel="nofollow">http://fisherman.sh</a>
That's not true. Oh My Fish! is down because they are still using my old Wahoo code. I have since moved from that old code base in Fisherman, but they haven't. Do as you please, but learn your facts.