Live data from Hacker News

Zsh Configuration from the Ground Up

zanshin.net

11–20 of 24 posts

Re: Zsh Configuration from the Ground Up

#12
post #7

Pretty sweet collection of zsh shortcuts and tips. Who cares if it's old, if it's still relevant? Is there something out there now that is better than zsh?

Fish is pretty sweet. The biggest annoyance IMHO is that you have to use env to set environment variables inline to execution.

My biggest issue with fish is that it has no way of letting me kludge the last command like bash does. I have muscle memory for bash shorthands like !$ For last word of the last command I executed or !! For the whole line.

It still catches me out with its sub shells too sometimes. ( () is equiv to $() in bash )

Also. No control+R

Otherwise I think it's a beautiful shell and I keep using it.

Re: Zsh Configuration from the Ground Up

#13
post #12
post #7

Earlier quoted context omitted.

Fish is pretty sweet. The biggest annoyance IMHO is that you have to use env to set environment variables inline to execution.

My biggest issue with fish is that it has no way of letting me kludge the last command like bash does. I have muscle memory for bash shorthands like !$ For last word of the last command I executed or !! For the whole line. It still catches me out with its sub shells too sometimes. ( () is equiv to $() in bash ) Also. No control+R Otherwise I think it's a beautiful shell and I keep using it.

The fish philosophy is that instead of "!!" you can use the up arrow to bring up the last command from history and then edit it directly.

And the up arrow already does something similar to ctrl-R by default. No need to have a separate hotkey for that behavior.

Re: Zsh Configuration from the Ground Up

#14
post #7

Pretty sweet collection of zsh shortcuts and tips. Who cares if it's old, if it's still relevant? Is there something out there now that is better than zsh?

Fish is pretty sweet. The biggest annoyance IMHO is that you have to use env to set environment variables inline to execution.

I don't think the env thing is that big of a problem with Fish. For me, the most annoying thing is that it doesn't interoperate well with programs that output POSIX shell strings that you are expected to eval. One particularly annoying example is pkg-config.

Re: Zsh Configuration from the Ground Up

#15
I can't encourage people enough to actually set up their zsh manually instead of running a configuration framework.

I spent a few hours on this about a year back and went from over 2s to about 0.15s for a full run of an interactive login shell (`time zsh -l -i -c 'echo "test"'`). No functionality lost, at least none that I actually used and cared about.

Definitely one of the best quality of life improvements I've made to my setup in recent years.

Re: Zsh Configuration from the Ground Up

#16
post #14
post #7

Earlier quoted context omitted.

Fish is pretty sweet. The biggest annoyance IMHO is that you have to use env to set environment variables inline to execution.

I don't think the env thing is that big of a problem with Fish. For me, the most annoying thing is that it doesn't interoperate well with programs that output POSIX shell strings that you are expected to eval. One particularly annoying example is pkg-config.

Agreed, this isn't that annoying; i largely have no issues with fish at all.

However, I particularly found it difficult to get working with nix, unfortunately.

Re: Zsh Configuration from the Ground Up

#17

Pretty sweet collection of zsh shortcuts and tips. Who cares if it's old, if it's still relevant? Is there something out there now that is better than zsh?

Shameless plug: https://elvish.io

I cannot claim that it is better than zsh in every aspect yet, but it is getting there.

Re: Zsh Configuration from the Ground Up

#18

I can't encourage people enough to actually set up their zsh manually instead of running a configuration framework. I spent a few hours on this about a year back and went from over 2s to about 0.15s for a full run of an interactive login shell (`time zsh -l -i -c 'echo "test"'`). No functionality lost, at least none that I actually used and cared about. Definitely one of the best quality of life improvements I've mad…

Couldn't agree more. I did the same. Big improvement in performance and I have a better idea of how to customize as per my preference.

I was also worried about random code getting downloaded to my machine and getting executed.

Re: Zsh Configuration from the Ground Up

#19
post #7

Pretty sweet collection of zsh shortcuts and tips. Who cares if it's old, if it's still relevant? Is there something out there now that is better than zsh?

Fish is pretty sweet. The biggest annoyance IMHO is that you have to use env to set environment variables inline to execution.

I tried fish for a while some years ago, and left it when I noticed that its pipes were fake. Second command in a pipeline couldn't read any input until first command finished running. That made it useless for things like `strace ... | grep ...`. Trying it now, it seems they've fixed that.

I remember that I was interested in it for its multiline command formatting and history. Since then, though, I've learned that zsh also has support for multiline command history, and its vi keybindings support multiline editing for a single command. It's like every command line is a little multiline vi buffer. For this reason, I've chosen my prompt so that the command starts at the first column.

Re: Zsh Configuration from the Ground Up

#20

I can't encourage people enough to actually set up their zsh manually instead of running a configuration framework. I spent a few hours on this about a year back and went from over 2s to about 0.15s for a full run of an interactive login shell (`time zsh -l -i -c 'echo "test"'`). No functionality lost, at least none that I actually used and cared about. Definitely one of the best quality of life improvements I've mad…

Thanks for showing us how to test that. My standard ohmyzsh takes 0.185 seconds.

  ~ time zsh -l -i -c 'echo "test"'
test zsh -l -i -c 'echo "test"' 0.09s user 0.07s system 86% cpu 0.185 total ~
Post reply on HN