What are some of the differences that made such a difference for you?
What are some of the differences that made such a difference for you?
- tab completion on a shit-ton of stuff (configure scripts, makefiles, ssh hosts, aptitude packages, git branches)
- partially entered command? push up to look at similar commands you have previously entered
- immediate propagation of zsh_history to all open shells
you could (correctly) argue that you can do all that in bash. of course, shell scripting is turing complete, so yes, you can. but with zsh, it's already there, and ready.
mark . marks the current directory in a folder full of symlinks.
jump <tab> expands to a list of your favorite folders.
super simple and extremely low overhead.
[1] http://jeroenjanssens.com/2013/08/16/quickly-navigate-your-f...
I use bash's reverse incremental search ("C-r") to do that. Is the zsh that much better than that?
The history sounds neat, except that I tend to segregate my terminal tabs to specific tasks/projects so I'm not very likely to want a command from one tab in another. Also I always set my bash history file to /dev/null so I don't have to worry about leaving sensitive data lying around, which means I new tabs are always a clean slate.
i don't doubt that at all - but it's hardly default bash, and i frequently don't have root on the systems i use (whereas zsh is usually there)
> I use bash's reverse incremental search ("C-r") to do that. Is the zsh that much better than that?
hands down yes. nobody had to explain how "up-complete" (i don't know what's it's called, but i'm calling it that because that's what it does) works to me. simple and intuitive!
> Also I always set my bash history file to /dev/null
fair enough - different people have different uses for things, i thoroughly recommend you try zsh though, because, why not! have a poke around the excellent oh-my-zsh as well, try out some themes.
i thought i had a good work flow with bash, and that there was really any room for improvement. after a few hours of zsh on my laptop, it was my shell everywhere :)
For Bash, M-# (alt-shift-3) puts a comment token '#' at the start of the current line and begins a new empty line. Handy if you are 150 characters deep in a command and realise you need to do something else for a moment (i.e. momentarily in the correct sense). You can store your 150 char command and come back to it, it is in the history and can be retrieved with a couple of Up-arrows.
cd s*/l*/f*/p*