…yet, that is. Or if you do, you read the man page pretty well. :-)
zsh has gazillions of features, but I think these are pretty useful
for daily use:
- ESC-. inserts the last argument of the previous history line, repeat to go back in history. (Same in Bash.)
- ESC-' quotes the whole line. (Useful for
su -corssh). - ESC-q clears the line and inserts it again on the next prompt, allowing you to issue an interim command.
<(command)returns the filename (in/dev/fdif supported or as a FIFO) of the pipe given by command for reading. (For example, usediff <(ruby foo.rb) <(ruby-1.9 foo.rb)to compare two program outputs).cd old newsubstitutes old with new once in thepwdandchdirs there.!$expands to the previous history line’s last argument,!^expands to the first argument,!:nto the n-th argument.=fooexpands to the full path offooin the PATH (likewhich foo).for src in *.c do ... donecan be abbreviated tofor src (*.c) { ... }(which is actually memorizable). You can even drop the curly braces if you don’t have;in the command.<42-69>globs numbers between 42 and 69. Drop the number(s) to make it open-valued.{42..69}expands to the numbers between 42 and 69.***expands recursively like**, but follows symbolic links.- Addition! ESC-RETURN inserts a literal newline, so you can edit longer commands easily.
More tricks:
Happy hacking.
NP: Shriekback—Mistah Linn He Dead

