Something I didn’t know until recently: zsh does not require cd to change directories. Using the directory as a command implies “cd”. For example, instead of doing: me@server:/home/me $ cd /tmp me@server:/tmp $ You can just do: me@server:/home/me $ /tmp me@server:/tmp $ That’s three whole keystrokes (nearly half the command shown above), all day long.
Read the rest of this entry »
Exploring zsh features made me want to figure out some of the history-editing wizardry. (Bash has similar history tricks, I just never bothered to dive too deeply into them.) If you want to experiment with history expansion a bit, you can echo the result instead of executing it: hostname:~/dir% ls /some/long/path/to/file_0.1-2_i386.changes hostname:~/dir% echo !?ls?:s/-2/-3/ echo [...]
Read the rest of this entry »
Since the beginning of time, all the cool kids have had really cool shell prompts. It’s a great place to display helpful information, and zsh has features that let you have a flexible, informative, unobtrusive prompt.
Read the rest of this entry »
Snippet from my .zshrc: # This controls what the line editor considers a word. By default it # includes ‘/’, which makes it so that when I M-del (attempting to erase # a directory in a path), I erase the whole path. Annoying. # WORDCHARS=’*?_-.[]~=/&;!#$%^(){}<>’ # (default) WORDCHARS=’*?_-.[]~=&;!#$%^(){}<>’ After living with this for a while, [...]
Read the rest of this entry »
To get started: sudo aptitude install zsh chsh /bin/zsh That’s pretty simple. Of course, you’re not running zsh yet… either logout and log back in or just run zsh at the prompt. You’ll get a series of prompts to configure a .zshrc. It only takes a few minutes, so run through the options and save [...]
Read the rest of this entry »
From The Peanut Gallery