Live data from Hacker News

Fish Shell 3.2

github.com

111–120 of 133 posts

Re: Fish Shell 3.2

#111
post #34

Earlier quoted context omitted.

-e is in the class of things that can be fine to use, but the people least-likely to be prepared to know when it can be are the most likely to expect it to behave better than it does. Sort of a combination finger-trap/cigar cutter for newbies.

Yeah.. but still useful despite the "false positives" that the link states which are addressable with proper error handling.

`-eu -o pipefail` catches most of what newcomers expect anyway.

Re: Fish Shell 3.2

#112

I'd like to use fish regularly, but I feel really attacked by the over-the-top usage of color and unrequested auto-completion. Even a "monochrome" theme I tried was shoveling many different shades of gray into my terminal. It does not seem to honor the NO_COLOR variable either. Is there any way to obtain a default configuration with everything disabled?

Why would you want to disable colors.

I find them distracting and annoying. Somehow colored text overwhelms me and I have trouble reading.

Re: Fish Shell 3.2

#113
post #2

Don't have anything to add to this except to say thanks to the team for an amazing product. Been using fish shell for 5+ years now and I love it. "Finally, a command line shell for the 90s"!

Many of us use it, I personally in my daily basis development Fish shell is pretty neat and increases productivity in terminal. However I still use Bash in the server side where I need for example, explicit error aborting like `set -e` that Fish doesn't have yet. https://github.com/fish-shell/fish-shell/issues/510

if you use a bash shebang in your scripts, does it not matter (honest question, I never have used fish)?

Re: Fish Shell 3.2

#114
post #75

>undo is bound to Control+Z, and redo to Alt+/ Unfortunate choice of keys for redo IMO

Control+Y is already taken, and Control+Shift+Z is indistinguishable from Control+Z because of terminal limitations. So I can't think of anything better.

Re: Fish Shell 3.2

#115
post #8

Fish is my shell of choice for a couple years now. Not because it's the perfect shell, but because it's a lot better than any other for interactive shells. For scripting I still stick to bash because it's more portable and I already know how to cope with its warts. And sometimes when I can't remember the fish syntax by heart, I just launch a bash from inside fish to run my command and then Ctrl-D :-)

I switched to fish a very long time ago (2009 maybe?) because it started up so much faster than zsh w/ all the plugins that it took to get the fancy features fish had out of the box. Since then, fish has only become a lot faster as we have focused on performance and optimizations considerably.

Omz plugins are the worst thing to happen to zsh, only surpassed by nvm.

Omz has so much compatibility code that you end up with way more than you need and a lot of what it ads can be shimmed to lazy load.

Nvm is just fucking trash. I had to rewrite large parts of it to not be total garbage. It still is. Go look at how it's installed and how it loads itself its fuckin insane.

Re: Fish Shell 3.2

#116
post #101

I love fish, and have been using it as my shell for over 10 years, it's pretty much the first thing I install on a new system. I usually heavily tweak the settings of the applications I use, make my own custom themes etc, but the defaults of fish are so good that I hardly changed anything. I only installed 3 plugins (z,fzf,and virtualfish) and that's it, it's super productive. Completion from history, persistently se…

Thank you for this comment. I had never come across fzf Fish plugin until now: https://github.com/PatrickF1/fzf.fish

So easy to use.

Re: Fish Shell 3.2

#117

I think Fish is an excellent interactive shell. I've still got Bash as my default shell for non-interactive sessions, but I configured Konsole to start Fish by default for interactive use (Settings->Command, set to the path to the fish executable). That way scripts that need Bash still work, but I get a sane environment for interaction. For "portable" scripts I write POSIX shell, C, or Python, depending on what I nee…

Fwiw fish_add_path doesn’t fundamentally change anything, users do get confused between global and universal variables and how they interact with exported variables like PATH, so this just makes it friendlier.

It also helps prevent duplicate path entries. I'd written an "add_to_path_if_not_present" function, but "fish_add_path" should do the same thing. It's just convenience, but Fish is largely about convenience.

Re: Fish Shell 3.2

#119
FINALLY!!!!!!

A new "fish_add_path" helper function to add paths to $PATH without producing duplicates, to be used interactively or in config.fish (#6960, #7028). For example:

fish_add_path /opt/mycoolthing/bin

will add /opt/mycoolthing/bin to the beginning of $fish_user_path without creating duplicates, so it can be called safely from config.fish or interactively, and the path will just be there, once.

Re: Fish Shell 3.2

#120
post #79

Earlier quoted context omitted.

I'd just like to add that if you're considering the switch but are worried about compatibility with bash, things have gotten better. I wouldn't call it outright compatible, but the most problematic differences in syntax (e.g. the absence of &&) went away a few years ago. If it didn't quite stick the first time, I think it's worth trying again.

The parsing and setting of environment variables was always my #1 hassle with fish. I feel like I see a lot of BASH snippets that get copy pasted around that I always had to re-write or throw in a sub shell. Particularly annoying when you're trying to do something while screen sharing and somebody gives you a snippet which you have to re-write before using it- "Oh yeah it's a hassle but I've got sweet auto-complete"…

Fish now supports setting environment variables for a command easier. Previously you had to do

    env MIX_ENV=prod mix compile
Now you can just do

    MIX_ENV=prod mix compile
But I also generally don't use fish for any scripting, I just use bash for that. But at least some copy-paste commands aren't as difficult to translate now.
Post reply on HN