Live data from Hacker News

Fish shell

fishshell.com

51–60 of 188 posts

Re: Fish shell

#52

For those who like the autosuggestion feature of Fish but can't leave oh-my-zsh, there's a plugin for that: https://github.com/tarruda/zsh-autosuggestions

For those who use antigen you can add this line to your .zshrc to install this.

antigen bundle tarruda/zsh-autosuggestions

Re: Fish shell

#53
post #46

I definitely recommend fish to every newcomer to Unix. It has sane defaults, colorful output, and so many features that work out of the box. That said, there is a long-standing issue regarding inline environment variables.[1] Briefly speaking, fish does not recognize the `NAME=value command` form. So you should use `env` to work around this. This may not be a deal breaker, but I'm a bit annoyed, and migrated to zsh.…

Fish is great. I used it for a couple of years, right up until I had to install a software system that made extensive use of bash scripts that were incompatible with it. At the time I was in too much of a hurry to figure out how to tell the software to explicitly use bash, or something along those lines.

Re: Fish shell

#54
post #46

I definitely recommend fish to every newcomer to Unix. It has sane defaults, colorful output, and so many features that work out of the box. That said, there is a long-standing issue regarding inline environment variables.[1] Briefly speaking, fish does not recognize the `NAME=value command` form. So you should use `env` to work around this. This may not be a deal breaker, but I'm a bit annoyed, and migrated to zsh.…

Fish is great. I used it for a couple of years, right up until I had to install a software system that made extensive use of bash scripts that were incompatible with it. At the time I was in too much of a hurry to figure out how to tell the software to explicitly use bash, or something along those lines.

Why would a software system that relies on bash not explicitly use bash for its scripts?

Re: Fish shell

#55
post #46

I definitely recommend fish to every newcomer to Unix. It has sane defaults, colorful output, and so many features that work out of the box. That said, there is a long-standing issue regarding inline environment variables.[1] Briefly speaking, fish does not recognize the `NAME=value command` form. So you should use `env` to work around this. This may not be a deal breaker, but I'm a bit annoyed, and migrated to zsh.…

> It has insane defaults, is highly customizable, and has so many features that are initially disabled.

Ah yes, the Emacs and Vim school of configuration.

Re: Fish shell

#56

Since Apple seems forever stuck on an ancient Bash version (due to GPL 3, I believe), I keep hoping they switch to Fish (or a home built solution, à la Swift, which could be interesting) with every OS release.

Fish does feel very Appley to me. I wouldn’t be surprised.

Re: Fish shell

#57

I used to use fish, and emacs. But when I switched to vim, I had to switch away from fish as well because of its lack of vi bindings. It is a little disappointing to go back to using bash, but as long as bash-completion is working, it's not really a big issue. Of course, I do miss the syntax highlighting. (I would use zsh, but it provides little benefit over bash out of the box and is slower (oh-my-zsh is unbearably…

> vi-mode, obviously

As you said at the end, Fish does have this. I don't know if it's full-featured enough for you though.

> Control+R. It is annoying to have to guess how much you must type before hitting the up arrow, instead of having it dynamically displayed

When you start typing a command-line in Fish that matches a previously-typed command, it automatically shows the rest of the line as an available completion, and pressing ^F or the right arrow will complete it for you. The lack of this functionality actually really kills my ability to use any other shell.

> Currently, it is impossible to pass a multi-line string from a command substitution as a single argument

Not actually true. If you set IFS to '' then that disables command substitution line splitting. That said, it is not well-known and is rather awkward. This is a known pain point with Fish today.

> More extensibility in general. I'd like to be able to customize my shell just as much as I can customize my WM. Probably more.

It's really hard to know what you're asking for here. What isn't extensible enough for you? What do you wish you could do that you can't?

Re: Fish shell

#58
post #34

Seems like their slogan might be a little limiting. > fish is a smart and user-friendly command line shell for OS X, Linux, and the rest of the family. I'd wager majority of OSX users are not going to be changing shells, but by specifically enumerating OSX as the first example use, it feels like the others are mere afterthoughts. Would be better put: > fish is a smart and user-friendly command line shell for the enti…

While that wording is more precise, the current wording is better for promoting the software. Ordering by market share makes sense, and users who are quickly scanning the page for compatability information don't need to make the connection between OS X or Linux and *nix, and can instead recognize their current system easily.

If this were documentation the change should be made, but it's probably not the right move on a website focused on promotion.

Re: Fish shell

#59
post #14

Fish not being bash compliant was a deal breaker for me. I use zsh with https://github.com/zsh-users/zsh-syntax-highlighting zsh fish like syntax hilighting and am much more happy.

> Fish not being bash compliant was a deal breaker for me.

Would you mind elaborating here? I'm very honestly curious how the deal gets broken for you.

To explain my curiosity, I've long since come to the opinion that we're in the midst of a long, somewhat painful split caused by a design dissonance over improving the interactive shell UX versus creating a better environment for scripting.

We've been building alternatives around the scripting problem for ages now, perhaps most notably starting with Perl's ascendance. That legacy continues with Python, Ruby, and now many other tools. I'll still reach for bash/zsh as a scripting tool, but only when the situation absolutely will not admit an extra dependency. In my experience, the pain factor goes up far more quickly with code complexity when it's all just gotta be done in POSIX/bash land.

As for the interactive shell UX, fish is notable for simply putting its foot down and just saying "no" to the scripting side. It pushes out POSIX scripting compatibility as an external feature. Calling bash is now on the same level as calling out to {Perl, et. al.}. Whether or not fish is your cup of tea, it's inspired a bunch of competing work in the traditional interactive shells.

At the current time, the above efforts are simply going in different directions. We have numerous better options for rich automation than POSIX shell scripting. Likewise, shell scripting just gets in the way of creating better, extensible developer/admin CLI environments. It has too many quirks (hi, quoting hell!) and limitations (real data structures, please) to work well for an extensibility platform.

Re: Fish shell

#60

Since Apple seems forever stuck on an ancient Bash version (due to GPL 3, I believe), I keep hoping they switch to Fish (or a home built solution, à la Swift, which could be interesting) with every OS release.

Fish does feel very Appley to me. I wouldn’t be surprised.

That makes sense, the create of fish works at Apple: http://ridiculousfish.com/blog/about.html
Post reply on HN