(1) (Not sure if this is added by oh-my-zsh) The function that you can type "prefix of previously used command + UP" to go to previous command with the prefix, I know in bash you can search history but this is more intuitive for me
And oh-my-zsh offers a lot of useful plugins, for example poetry plugin allows me to seamlessly activate python virtual environment the moment I cd into a directory
(2) In bash I can use apt list (prefix)*, in oh-my-zsh I have to remember to use \*
Firstly zsh is mostly championed as oh-my-zsh, but IMHO it's nearly all eye candy and bloat. Vanilla zsh user here, and nearly all the useful plugins available in OMZ can be enabled manually. It's a small learning curve to manually curate zsh (.zshrc) but worth it.
Secondly, there's using bash/zsh as an interactive environment vs as a scripting language. Again personal opinion but I only use zsh or bash for interactive use, preferring Posix (sh) for script portability. If differentiating between zsh vs bash for scripting, maybe you need a better framework altogether, e.g. Python.
zsh simply has navigation and shortcut features that are built-in or just work better than bash equivalents: partial folder completion, better autocompletion engine, directory stack etc. etc. along with many 3rd party plugins to extend that. It has an excellent wildcard file copy/move mechanism in zmv and even a built-in calculator in zcalc,
The only cosmetic I really like is the right hand prompt, you can stick useful stuff there: full working directory, run times, counts, git info etc. whilst keeping the left prompt compact like a 'normal' shell. I can't figure how people's brains work with huge left prompts that fill half the line, or worse multiple lines.
(2) If you formerly used bash, is there something about bash that you miss when using zsh?
No, I find it very bash compliant, just like using bash... but better.
Comments
Using oh-my-zsh here, not vanilla zsh
(1) (Not sure if this is added by oh-my-zsh) The function that you can type "prefix of previously used command + UP" to go to previous command with the prefix, I know in bash you can search history but this is more intuitive for me
And oh-my-zsh offers a lot of useful plugins, for example poetry plugin allows me to seamlessly activate python virtual environment the moment I cd into a directory
(2) In bash I can use
apt list (prefix)*
, in oh-my-zsh I have to remember to use\*
Firstly zsh is mostly championed as oh-my-zsh, but IMHO it's nearly all eye candy and bloat. Vanilla zsh user here, and nearly all the useful plugins available in OMZ can be enabled manually. It's a small learning curve to manually curate zsh (.zshrc) but worth it.
Secondly, there's using bash/zsh as an interactive environment vs as a scripting language. Again personal opinion but I only use zsh or bash for interactive use, preferring Posix (sh) for script portability. If differentiating between zsh vs bash for scripting, maybe you need a better framework altogether, e.g. Python.
zsh simply has navigation and shortcut features that are built-in or just work better than bash equivalents: partial folder completion, better autocompletion engine, directory stack etc. etc. along with many 3rd party plugins to extend that. It has an excellent wildcard file copy/move mechanism in zmv and even a built-in calculator in zcalc,
The only cosmetic I really like is the right hand prompt, you can stick useful stuff there: full working directory, run times, counts, git info etc. whilst keeping the left prompt compact like a 'normal' shell. I can't figure how people's brains work with huge left prompts that fill half the line, or worse multiple lines.
No, I find it very bash compliant, just like using bash... but better.
https://github.com/ohmyzsh/ohmyzsh
Not really. Love it and haven't looked back. And BASH commands still work.