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!<p><pre><code> * 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)
</code></pre>
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.<p>[1] <a href="http://fishshell.com/" rel="nofollow">http://fishshell.com/</a>
I use fish (<a href="http://fishshell.com/" rel="nofollow">http://fishshell.com/</a>), and it's amazing. However, they're missing the most important feature from their front page: Syntax highlighting!<p>Valid executables are colored green, as you type.
Invalid commands are red, as you type.
Valid files are underlined, as you type.<p>Like the carpenter who can feels the feedback of the grain of the wood through the handle of his plane can adjust his technique as he planes, fish shell lets me 'feel' the programs and files I'm working with through the shell.<p>And that makes me happy.
A bit more context: Ridiculous Fish is an Apple Engineer on the AppKit team. He also has a nice hex editor for the Mac (Hex Fiend) and an interesting programming Blog:<p><a href="http://ridiculousfish.com/blog/" rel="nofollow">http://ridiculousfish.com/blog/</a>
Man, I used to use fish. It was great. It was like all the things people eventually make zsh do but in one convenient binary.<p>I think my favorite feature was that history was instantly shared among all your open fish instances.
I didn't get this right from the start, but this is a fork of fish(shell), which has been around for quite a while:<p><a href="http://fishshell.com/" rel="nofollow">http://fishshell.com/</a>
If you run chsh and get error "/usr/local/bin/fish: non-standard shell" simply add /usr/local/bin/fish to /etc/shells. Just to save you a Google search :)
They need to update the slogan? "A command line shell for the 90s" doesn't really draw me in.<p>What I want to know:<p>1. In what specific ways is it better than zsh?<p>2. Is it absolutely, rock-solid stable?
I tried fish a few years ago, but stopped for some reason that I can't remember. I will try again, and will either keep using it, or will remember why I stopped in the first place.
Ahhh, finally. I used to use fish for many months, but after i figured that there is no development anymore, i switched back to bash...<p>Now it's time to change to fishfish and decide what's best suited for me! :)<p>edit: Also, i am disappointed that the ASCII-art fish on the frontpage is actually a picture and not ascii :(
Very poor support for alias:<p><pre><code> batman@batman ~/D/S/rails> alias foo="cd ~/"
fish: Could not expand string '$tmp[2]'
/usr/local/share/fish/functions/alias.fish (line 19): set body $tmp[2]
^
in function 'alias',
called on standard input,
with parameter list 'foo=cd ~/'
</code></pre>
Makes me wonder what else I'll have to relearn to use fish. Can someone tell me if it's worth the effort?<p>Edit: didn't take me long to find something worse. I defined my aliases as functions, but apparently fish executes all functions when it sources the file? By putting this function in:<p><pre><code> function foo
cd ~/
end
</code></pre>
I was able to send fish into an infinite loop.
It gives me great joy every time a new command-line-related project is released (or, as in this case, gets a major update). I will dedicate a few hours of my weekend to take this for a thorough spin!
Looks like the author is trying to replace the old fish (<a href="http://fishshell.com/" rel="nofollow">http://fishshell.com/</a>)<p><i>Welcome to our fork of the fish shell, a command line shell like bash. Its working name is fishfish, but I hope eventually it will just be fish!</i> (<a href="http://ridiculousfish.com/shell/beta.html" rel="nofollow">http://ridiculousfish.com/shell/beta.html</a>)
I really like what I see, but I don't understand their reasoning for leaving out history substitution (see <a href="http://ridiculousfish.com/shell/user_doc/html/faq.html#faq-history" rel="nofollow">http://ridiculousfish.com/shell/user_doc/html/faq.html#faq-h...</a>).<p>Why can't a better interactive history go hand in hand with something like "sudo !!"?
Why does xargs under fish not accept {} as a replstr like it does with bash?<p><pre><code> find . | xargs -I {} grep pat {}</code></pre>
On OS X fish this gives "xargs: replstr may not be empty" and on Linux fish I get "xargs: command too long". Using % as the replstr for example does work though.
I just tried it out, I use zsh and don't really look for replacement, but my first impression is that things are much more snappy and significantly faster in fish. I liked how help opened browser, even though I was startled a little bit.
Under the known bugs and issues:<p><i>History file should apply some kind of maximum history length</i><p>Fine, but the default needs to be large, like 100MB. Disks are big now. I hope ridiculousfish agrees.
The package doesn't work on Debian testing/unstable/experimental: fish: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by fish)<p>(I am running GLIB 2.13).<p>I tried compiling from source, but I am clearly missing dependencies. So far, I had to install:<p>libncurses5-dev, gettext, xsel, libxt-dev (alternatively, I could use --without-xsel and ignore these last two depends). You may want to add this to the project somewhere.<p>At any rate, I am looking forward to giving this a try.
Whoa. Just installed it and it's beautiful. I'm most surprised by fish_config which fires up a webserver to set config information -- awesome, really awesome.
Unfortunately I can't try this right now, but do suggestions support something like taking only part of the suggestion? I.e. move left/right from cursor into the suggestion instead of writing. Shift+Arrow would work as expected, thus allowing quickly using part of the suggestion and writing the rest out if needed. It seems to be a better solution than deleting things from the end.
This is missing the point of a shell by a mile. Extra features are nice. As an <i>extra</i>. Preferably on top of a rock solid platform that works everywhere, on everything, under any conditions. Same reason your PC boots in 16 bit real mode.<p>I'm quite happy living in the 80s.
When using auto-completion is there a way not to use arrow keys? Especially when completing a match it seems like I need to use the right arrow key. I would prefer not to use arrow keys at all, but use something like CTRL+(HJKL).
I've never used anything besides bash before. I use a terminal a lot, but don't really do anything fancy so I thought switching would be a waste of time. Reading the features in fish though made me want to give it a whirl.
Can you make this work in fish? <a href="http://www.developerzen.com/2011/01/10/show-the-current-git-branch-in-your-command-prompt/" rel="nofollow">http://www.developerzen.com/2011/01/10/show-the-current-git-...</a>
Doesn't seem to be in Homebrew yet (I mean this fork; the original Fish is there).<p>That brings me to the question: What is different in this fork? Is it worth to use this fork or should I stick to the original?
How to I remove it? I set fish as default, but I realized that none of my scripts in .bash_profile worked... and it's too much work to rewrite everything again.
I just tried fish for the first time, and it couldn't do the very first thing I tried to do, which was source my .zshrc. It doesn't have 'export', has some kind of nonstandard syntax for 'alias', and that was enough to get me to give up.<p>Since there are many fish fanboys here, and since it seems like it would be cool if it worked, I'm hoping someone can tell me the simple obvious thing I should have done. Can you help?