TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Fish Shell Design Principles

116 pointsby charlaxover 9 years ago

13 comments

marrsover 9 years ago
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&#x27;m not the target audience - I just find it an interesting observation about usability.
评论 #11111846 未加载
评论 #11110134 未加载
评论 #11110063 未加载
评论 #11111886 未加载
评论 #11109721 未加载
评论 #11110010 未加载
评论 #11113349 未加载
评论 #11110020 未加载
Lazareover 9 years ago
Incidentally, I&#x27;ve been using fish for a while, and it&#x27;s really nice. Coworkers wandering past while I&#x27;m working have been known to stop and state; the fish autocompletion&#x2F;history magic is really impressive if all you&#x27;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&#x27;ve had zero issues. YMMV.)
评论 #11109534 未加载
评论 #11116594 未加载
yonrgover 9 years ago
<p><pre><code> &quot;&quot;&quot; [...] 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. [...] &quot;&quot;&quot; </code></pre> That&#x27;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.
评论 #11109434 未加载
评论 #11109424 未加载
评论 #11109349 未加载
评论 #11109573 未加载
评论 #11111528 未加载
评论 #11110087 未加载
kipropingover 9 years ago
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.
评论 #11109704 未加载
评论 #11109637 未加载
评论 #11109666 未加载
threatofrainover 9 years ago
Fish is the shell I wish I could use, but I&#x27;m afraid of the tinkering I have to do to get common tools and workflows to work.
评论 #11109106 未加载
评论 #11108698 未加载
评论 #11108862 未加载
评论 #11108954 未加载
评论 #11109123 未加载
评论 #11109074 未加载
评论 #11108697 未加载
rhinoceraptorover 9 years ago
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 &#x27;sensible defaults&#x27; but it is extremely painful or impossible to change them. I went back to ZSH.
评论 #11109826 未加载
kompover 9 years ago
I used to use Fish but switched over to zsh due to the better support. It&#x27;d be great to see Fish get more popular in the open-source community as I&#x27;d love to give it another try.
Quequauover 9 years ago
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&#x27;s a recent blog post describing this strategy:<p><a href="https:&#x2F;&#x2F;blog.gospodarets.com&#x2F;fish-shell-the-missing-config" rel="nofollow">https:&#x2F;&#x2F;blog.gospodarets.com&#x2F;fish-shell-the-missing-config</a>
stewartbutlerover 9 years ago
If I were using a &#x27;real&#x27; shell, I&#x27;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.
bucaranover 9 years ago
Fish sensible defaults can go a long way and the scripting language is fairly easy to pick up. If you want more that what&#x27;s provided out of the box, then check out Fisherman: <a href="http:&#x2F;&#x2F;fisherman.sh" rel="nofollow">http:&#x2F;&#x2F;fisherman.sh</a>
评论 #11115174 未加载
评论 #11108913 未加载
评论 #11109294 未加载
bucaranover 9 years ago
Tackle&#x2F;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:&#x2F;&#x2F;fisherman.sh" rel="nofollow">http:&#x2F;&#x2F;fisherman.sh</a>
评论 #11115148 未加载
评论 #11114588 未加载
bucaranover 9 years ago
Tackle&#x2F;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:&#x2F;&#x2F;fisherman.sh" rel="nofollow">http:&#x2F;&#x2F;fisherman.sh</a>
评论 #11115165 未加载
评论 #11114635 未加载
bucaranover 9 years ago
That&#x27;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&#x27;t. Do as you please, but learn your facts.
评论 #11115164 未加载
评论 #11111165 未加载
评论 #11110188 未加载