What does HackerNews think of prezto?

The configuration framework for Zsh

Language: Shell

#1 in Framework
#3 in Shell
#4 in Terminal
Also don't like OMZ because of feature and performance bloat. I've been using prezto -- it's very modular and fast.

https://github.com/sorin-ionescu/prezto

I've been using prezto[0] for a long time so I'm not sure anymore if this is integrated in zsh, but at least using prezto I get this when I run a wrong command:

  > claer
  zsh: correct 'claer' to 'clear' [nyae]? n
  zsh: command not found: claer
I am guilty of not reading the docs, but I learnt by experience that n/y/a/e stands for no (run without correction)/yes (correct)/abort (don't run)/edit (manually/interactively)

[0] https://github.com/sorin-ionescu/prezto

I switched from Bash to ZSH with the caveat that I use prezto and powerlevel10k (included with prezto) and I will never go back.

I had to turn off some of the Zsh-specific brackets and quoting features to make it more bash-like because of the tools I use which make it kinda wonky to use with Zsh but otherwise it’s been absolutely fantastic. Remoting into our systems that only have bash feels absolutely prehistoric.

https://github.com/sorin-ionescu/prezto

If oh my zsh is Spacemacs, then prezto is Doom Emacs: https://github.com/sorin-ionescu/prezto
I prefer prezto to oh-my-zsh for performance reasons.

https://github.com/sorin-ionescu/prezto

A similar tool that saves me immeasurable amounts of time is fasd[0]. I started using it as a part of prezto[1], which is similar to oh-my-zsh, and have never gotten around to trying any other solutions such as z.

[0] https://github.com/clvv/fasd [1] https://github.com/sorin-ionescu/prezto

A lot of these are not so much about saving 100 hours, rather being faster when it does matter, as well as doing something interesting (automating a task by writing a script) instead of doing the same thing over and over again. This is also why you shouldn't take https://xkcd.com/1205/ too literally, although it's good to keep in mind.

* frequent (automatic) backups (saves time and mood when things go wrong)

* i3

* fd (alternative to find)

* ripgrep

* keynav (don't use your mouse)

* !bangs on duckduckgo

* calcurse (terminal calendar)

* readline: C-h C-b C-a C-k M-b M-f C-u etc.

* howdoi (get SO answers in the terminal), especially useful for things you somewhat know but just forgot the syntax of.

* youtube-dl as already mentioned somewhere: you get out of youtube ASAP to prevent their algorithms from tricking into staying there. I also use it to watch videos later when I don't have internet, using a syncthing folder on my mobile which only syncs up to 10% remaining space (so that it doesn't fill with 100s of videos, just a few, enough for some trip). Videos are also rather inefficient in terms of communicating ideas, so better to keep them for when I really don't have better to do.

* in the same vein, adapt the speed of (technical) videos you watch, to skip the fluff and focus (even rewind) the difficult parts. Skip all ads, everywhere.

* uBlock Origin, for the same kind of reason: just block any annoying, time-consuming parts of website. If I need to go on some website regularly, and they happen to have a news section I don't care about (like their twitter feed), I just block it to get it out of my way.

* even use a text-only browser (I currently use w3m, which could show images in theory) for things like HN. HN itself works well, and its good links as well. You just trim a lot of the fluff, ads, etc.

* an easy way to sync files between your mobile and your computer (I use a combination of "Notes to Self" in Signal with an auto-destruct of 1 week for temporary stuff so that I don't have to delete it manually, and syncthing for longer-term things)

* script your way out of any repetitive task: if you need to register periodically to something, either use their API if they have one, or use selenium to automate it. I was really surprised how little time it took me to write my own script and learn how to use selenium.

* in general, rely less on proprietary software: it has the potential to break ("introduce new and shiny features and somehow make some old ones disappear" or just change the pricing-model) more regularly, and you'll have to switch which can be a burden. If some free (libre) software breaks hard for a lot of people, chances are that a fork will happen and the transition will be easier. This also applies to SaaS.

* try to avoid desktop apps: they don't compose well, you cannot easily script them compared to a CLI. It's also better than having a full remote desktop when you resort to SSH (especially on bad connections).

* try to learn the default keyboard shortcuts of software you use, unless they're really crazy: less config (which you'd have to sync and maintain), easier to use a computer which is not yours if need be

* regularly check that the commands you write in your terminal are not too verbose (use aliases / functions): https://news.ycombinator.com/item?id=22853646

* check what's possible with frameworks like https://github.com/sorin-ionescu/prezto

* some dotfile repository to get you started in 5min on new computers with the same setup you're accustomed to.

* mutt (mostly to easily write emails in vim and grep emails from the terminal)

* cronjobs and reminders (I get new music albums on my phone regularly from my music library, so that I don't have to choose them manually (it's my library so I know I like them anyway). I used to actually spend time choosing music from my own library.)

* typing from your phone is inefficient, avoid it if possible. Batch your (non-time-critical) messaging. Most modern messaging apps have a desktop version these days.

Ah, I found it. It's the default(?) theme called "sorin" from zprezto: https://github.com/sorin-ionescu/prezto
It's a bit messy, but everything related to zsh should be in here [1]. Apparently the vim command editor thing comes at least partly from prezto [2]

[1]: https://github.com/Infinisil/system/blob/master/config/new-m...

[2]: https://github.com/sorin-ionescu/prezto

oh-my-zsh has more than six hundred open pull requests, and can be considered unmaintained. It is perfectly usable in most respects, and I would not expect that to change in the near future. However, some competing projects have started because of that, and may be worth consideration.

https://github.com/sorin-ionescu/prezto https://github.com/zsh-users/antigen See also: https://github.com/unixorn/awesome-zsh-plugins

oh-my-zsh is effectively unmaintained. That is not the worst thing in the world, but one may wish to consider prezto as an alternative:

https://github.com/sorin-ionescu/prezto

My zsh autocompletion list for git add actually contains the stageable files. I don't know if this is stock zsh behaviour or related to my prezto https://github.com/sorin-ionescu/prezto config but it can be done

Edit: looks like it might be stock behaviour https://github.com/zsh-users/zsh/blob/master/Completion/Unix...

Prezto for zsh has pretty good command line completion and a lot of plugins which are either on by default or available for you to flip the switch on. It's taught me some nifty bits of git, gpg and some others. https://github.com/sorin-ionescu/prezto

I personally prefer working on a command line because it's _more_ discoverable to me than most gui's. This did take some getting used to though. The approach is different.

The worry over making dangerous mistakes is understandable. That said I have made very few big ones after a bit of learning, and it has also helped me _avoid_ making dangerous mistakes by facilitating the automation of otherwise delicate or involved tasks which would be unpleasant to click and type through.

That's a pretty standard zsh with oh-my-zsh prompt: https://github.com/robbyrussell/oh-my-zsh

Scroll down a bit and you'll see it.

Though I personally prefer zsh with prezto, because oh-my-zsh feels too bloated and heavy:

https://github.com/sorin-ionescu/prezto

I am using zsh + prezto. https://github.com/sorin-ionescu/prezto

Tab completion is extremely powerful. Even serious spelling mistakes are forgiven.

The prompt is Git-aware and this provides a lot of helpful information which saves me from having to query the git cli.

There are also plugins available for completion of other programs such as rake

If you like this, I recommend oh-my-zsh [1] or prezto[2], both have themes for things like this.

[1]: https://github.com/robbyrussell/oh-my-zsh

[2]: https://github.com/sorin-ionescu/prezto

I found prezto is more stable and responsive. Had weird hangs on auto-completion with omzsh...

https://github.com/sorin-ionescu/prezto

That was precisely my first question, so thanks for the answer, but I don't really see how that's enough to switch… I've been using this "cleaned up/opinionated" fork 'Prezto' for a while now: https://github.com/sorin-ionescu/prezto

If I'm motivated enough to download and install a shell, why wouldn't I just clone Prezto and change one config file to turn on syntax highlighting and git support? Especially when it doesn't bring any "weirdness in command substitution" and I get the great zsh expansions and completions?

Anyways, I'll try it out (why not?) but the benefit to me wasn't clear from the page, and even with your direct clarification here I'm seeing more downsides than zsh + Prezto and not a significant upside.

I don't see that behavior for me.

    $ sudo foo
    $ sudo bar
    $ sudo fo
gives me `sudo foo`.

I'm using zsh 5.0.7 (x86_64-apple-darwin14.0.0) on OS X 10.10 (with prezto[1]).

[1]: https://github.com/sorin-ionescu/prezto

I switched from oh-my-zsh to [Prezto][1] and I couldn't be happier. I hope this is useful to some of you.

[1]: https://github.com/sorin-ionescu/prezto

I love oh-my-zsh as well, but I ended up switching to prezto (https://github.com/sorin-ionescu/prezto), which is extremely similar but has less code and is considerably faster. Shell sessions were taking more than a few seconds to start up, and I'm using the latest MacBook Air.
Prezto is lighter, faster and simpler than omz, I'm a huge fan

https://github.com/sorin-ionescu/prezto

> Pray god that I never have to wipe my hard drive though. Getting all the random libraries and whatnot that I've accumulated over the years would be a pain in the arse.

Something there doesn't sound right (and brings up questions about how do you even manage so many random libraries and whatnot).

Dependency and package management isn't that difficult and when I wipe my hdd/ssd it usually takes me some 30 minutes to get my generic environment bootstrapped and up to date (with a mixture of shell scripts and brew install `my-package-list.txt`). After that, each project takes few minutes to download all deps/libs with some dependency management tool.

Just the same way I would imagine that you've got your oh-my-zsh config version controlled (speaking of oh-my-zsh, I'd like to also mention prezto[0]!)

0: https://github.com/sorin-ionescu/prezto

Funny you mention it, I actually have this working! (http://i.imgur.com/8VBYDd4.png)

You can check out my dotfiles (https://github.com/christianbundy/dotfiles), but I'm pretty sure that the functionality came standard with one of my Zsh submodules, Prezto (https://github.com/sorin-ionescu/prezto).

For people that just don't care about advanced features or gotchas, fish seems fine.

For people that exploit redirection, file handle rewiring, here docs and such... consider zsh with https://github.com/sorin-ionescu/prezto

I do love the tagline "_Finally, a command line shell for the 90s_".

I was happy enough sticking to bash as it's the default shell everywhere, but since someone switched me to Zsh (using oh-my-zsh) I probably rely on the features too much to ever go back. I also hear https://github.com/sorin-ionescu/prezto is a nicer, cleaner fork of oh-my-zsh but I haven't so found the overwhelming desire to go through the switching pains.

Allow me to point you to prezto https://github.com/sorin-ionescu/prezto, which is a lightweight version of oh-my-zsh. I couldn't stand waiting 10+ seconds to open a new prompt...
As raylu says, zsh has that feature. Prezto (https://github.com/sorin-ionescu/prezto) makes it relatively easy to get started with zsh. Install it, enable any extra modules you want to load in .zpreztorc inside the zstyle ':prezto:load' pmodule \ command, then update your .zshrc with your existing customizations from .bashrc and .bash_profile.
It doesn't work the same way but I use this and like it: https://github.com/sorin-ionescu/prezto
You can get fish syntax highlighting in zsh by installing zsh-syntax-highlighting ( https://github.com/zsh-users/zsh-syntax-highlighting ). I prefer just enabling it in prezto though (which is a fork of oh-my-zsh that is a lot lighter weight and more modular https://github.com/sorin-ionescu/prezto )
prezto [1] is a nice alternative to oh-my-zsh. I find it to be faster and it's more modular.

[1] - https://github.com/sorin-ionescu/prezto

Have you looked at prezto[1]? It encourages forking and in-place editing strongly, and everything is a module.

[1]https://github.com/sorin-ionescu/prezto

I use prezto (https://github.com/sorin-ionescu/prezto -- initially a fork of oh-my-zsh).
There is a cleaner 'version' (==fork) of oh-my-zsh that fixed the long startup time for me: https://github.com/sorin-ionescu/prezto. With nice, fast setup (overwrites your .zshrc file!) and lots of documentation.
I recommend using Prezto[1][2] or not using a framework at all. Prezto is an almost complete rewrite of OMZ that is simpler, completely modular and has a huge amount of bugs fixed. Not using a framework avoids bloat and unexpected settings and can be quite pleasant using tools like [3]. [1]https://github.com/robbyrussell/oh-my-zsh/issues/377 [2]https://github.com/sorin-ionescu/prezto [3]https://github.com/ingydotnet/...