Re: Re can't the shell do a better job
On Sun, 2 Jan 2005, Gregory Seidman wrote:
AFAICT, zsh and tcsh are pretty nearly equally good, for some definition of
good. If I were willing to put the effort into it, I expect I could port
all of my tcsh shell customizations to zsh without compromising any of the
features I have grown used to. A quick look at its man page seems to
indicate that it has a superset of tcsh's features (n.b. that's features,
I second this. I switched to zsh some time ago, and it's quite spiffy.
It "feels" similar to tcsh in interactive use. Some of the cooler, more
advanced features require Deep Knowledge that I mostly haven't acquired.
(Haven't wrapped my head around "styles", for one.) A few things I've
noted in my own use:
* The completion system is very good, and smart completions for many
different commands are standard. I think you can get write a
completion to get zsh to feed your fish, but that requires knowledge
* Prompt setup is even better than tcsh's (which is pretty good).
* Complex aliases can be made into shell functions.
* You can now do "VAR=value command" to set a variable for just the one
command, like everybody else in the world does. <grin>
* You can bind keys to scripts that manipulate the command line you're
currently editing. One keystroke pops me into vi where I can edit,
quit, and run my edited command.
* push-line: you're typing up a fairly complex find command, and you
suddenly can't recall if find on this machine has -regex. Just hit
Ctrl-Q, and you've got a new, blank command-line whence you can run
man find. When you're done with man (actually, the next time zsh
displays a prompt), your find command is back, with your cursor right
where you left it.
* bash-style process substitution: diff =(sort file1) =(sort file2)
sort file1 > file1.sorted
sort file2 > file2.sorted
diff file1 file2
Aaron Hall : Actually, it's a buck-and-a-quarter quarterstaff.
email@example.com : But I'm not telling *him* that!