News for hackers. Stuff that matters.
Re:Fish shell by eridius on Monday May 18, 2015 @05:48PM (#9567054)
> 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 by nkouevda on Monday May 18, 2015 @09:42PM (#9567767)
> 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.

^R is more powerful, though; it matches at any point in previous commands, not just at the beginning.

> The lack of this functionality actually really kills my ability to use any other shell.

You can achieve that behavior in readline (which is used by bash, python shell, etc.) by changing the up/down arrows from previous-history/next-history to history-search-backward/history-search-forward. In ~/.inputrc:

  "\e[A": history-search-backward
  "\e[B": history-search-forward
Note that you can still use ^P/^N for previous-history/next-history (or you can remap "\C-p"/"\C-n" as well).
Re:Fish shell by mintplant on Tuesday May 19, 2015 @12:38AM (#9568160)
> ^R is more powerful, though; it matches at any point in previous commands, not just at the beginning.

That's how it works in Fish as well.

    user@system ~> echo wow
    wow
    user@system ~> echo something
    something
    user@system ~> wow█
...press the up arrow and the current line becomes...

    user@system ~> echo wow█
Re:Fish shell by Matumio on Tuesday May 19, 2015 @03:08AM (#9568481)
In bash, you hit Ctrl-R on the empty prompt and type "w":

    (reverse-i-search)`w': echo wow
Hit return to execute, or any motion keys to start editing. It was the first thing I missed in Fish.
Re:Fish shell by lloeki on Tuesday May 19, 2015 @08:21AM (#9569485)
In fish, you type "w" on the empty prompt and hit Up:

    > echo w̲ow
Hit return to execute, or any motion keys to start editing. As long as you don't move sideways, you can repeatedly press up or down to navigate history. The underline is actually a highlight hinting at the substring match in the line.

The difference is that typing an additional character after having moved in the history will start editing, appending the character to the line, instead of appending to the criteria.

What I miss in all of them is looking for a fuzzy match instead of a substring match.

Re:Fish shell by TomAnthony on Tuesday May 19, 2015 @04:20AM (#9568678)
I'm not sure how that is functionally different to mintplant's example?

In fish you just type 'w' hit the up arrow and then hit enter to execute or any motion keys to edit. The same number of keypresses as well.

Am I misunderstanding?

Re:Fish shell by dale-cooper on Tuesday May 19, 2015 @05:50AM (#9568910)
Discoverability. With fish i would have to type something that would be a good match to the command i want to re-run before pressing up. With bash i type ctrl+r and start typing and i can continue to type until it's narrowed down to the correct command.
Re:Fish shell by girvo on Tuesday May 19, 2015 @03:12AM (#9568493)
> kills my ability to use any other shell

zsh definitely has this command, which I absolutely adore to be honest. ^R is one of my favourite features of the shell in general.

Re:Fish shell by eridius on Tuesday May 19, 2015 @02:43PM (#9572217)
> You can achieve that behavior in readline

No you can't. What I specifically described was the autocomplete of the line, not the ability to search history (which is manual complete instead of autocomplete).