Live data from Hacker News

Fish: Finally, a command line shell for the 90s

ridiculousfish.com

91–100 of 155 posts

Re: Fish: Finally, a command line shell for the 90s

#91
post #42
post #39

Earlier quoted context omitted.

can zsh autocomplete man pages?

Yes it can. Add something like this to your zsh config: zstyle ':completion:*:manuals' separate-sections true zstyle ':completion:*:manuals.*' insert-sections true zstyle ':completion:*:man:*' menu yes select

This does not work for me. If I type "tree -" and press [tab], nothing happens.

Re: Fish: Finally, a command line shell for the 90s

#92
post #77

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. I think my favorite feature was that history was instantly shared among all your open fish instances.

zsh used to do this for me (back when I used it; switched back to bash about a year ago now), and it was the most _annoying_ thing it ever did. My typical workflow (when working on a software project) involves a pair of terminals for compiling and execution, an editor window (whether gvim or kate/kile/kdevelop etc.), and a documentation terminal for manpages.

Oftentimes my execution lines are somewhat long -- enabling/disable debugging info in certain sections of the program while tracing programs, etc, and I'd not want to type them out continuously. As a result I'd use the command history a lot, muscle memory would automatically hit CTRL-P once I switched to one of my execution terminals. If I'd visited something in the documentation terminal in the meantime, I'd be staring at 'man 2 timer_create' instead of my expected './aesalon --set listen=6421 --set ::debug-shm --set ::debug-interaction'. The third-second or so I'd need to do a sanity check would seriously interrupt my train of thought.

It's neat, and I can see why people like it. But for my particular one use-case of terminals/shells, it was annoying. Took me about a week before I realized just how much it was slowing me down and disabled it.

[I probably should have just set up another zsh configuration for those particular terminals, but enough years with bash have trained me, I guess, to not expect it from my shell.]

Re: Fish: Finally, a command line shell for the 90s

#96
Very poor support for alias:

    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 ~/'
Makes me wonder what else I'll have to relearn to use fish. Can someone tell me if it's worth the effort?

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:

    function foo
    cd ~/
    end
I was able to send fish into an infinite loop.

Re: Fish: Finally, a command line shell for the 90s

#97
post #39

Earlier quoted context omitted.

can zsh autocomplete man pages?

Yes. zsh can also auto-complete command line arguments for a lot of commonly used commands (including the GNU utilities, git, mutt, mplayer, imagemagick's convert and others.)

And when it cannot complete arguments, just hit `ESC h` or Alt-h to get help on the current command you're typing. (See also: `ESC q` or Alt-q)

Re: Fish: Finally, a command line shell for the 90s

#99
post #21
post #19

Earlier quoted context omitted.

Well.. they do have quite a list of possibilities to piggy back off ( http://en.wikipedia.org/wiki/List_of_common_fish_names ) that could reduce confusion but still maintain similarity.

I don't believe that's an option for the author as he's known as "fish" around the web. :) http://ridiculousfish.com/blog/about.html

"ghoti" would be a perfect name for a ridiculous fish, though (http://en.wikipedia.org/wiki/Ghoti)

Re: Fish: Finally, a command line shell for the 90s

#100
post #45

Earlier quoted context omitted.

Yes. zsh can also auto-complete command line arguments for a lot of commonly used commands (including the GNU utilities, git, mutt, mplayer, imagemagick's convert and others.)

Bash too can do that. It does by default in Debian for instance, it also does cool things like autocompleting filenames based on which command is already typed (so it won't autocomplete to some pdf filename if the command is mplayer), autocompletion depending on config files (alias from ~/.ssh/config and /etc/hosts, remotes from the git config, package names when the command is apt-*…). About fish, for the history ba…

Bash's auto completion is a child's toy compared to Zsh's.
Post reply on HN