…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 -c
orssh
). - 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/fd
if 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 new
substitutes old with new once in thepwd
andchdir
s there.!$
expands to the previous history line’s last argument,!^
expands to the first argument,!:n
to the n-th argument.=foo
expands to the full path offoo
in the PATH (likewhich foo
).for src in *.c do ... done
can 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