News for hackers. Stuff that matters.
Re:Bicycle skills by aangjie on Wednesday August 01, 2012 @12:34PM (#4323911)
Am just graduating from a novice to medium level user on vim. Consider myself a medium/novice user of the Bash shell (i.e: without awk/sed knowledge. but with find and grep). Is it worth switching to zsh at this point for me or can i just wait till i pick up awk/sed for text munging and progess on the shell usage??. I have come across zsh mentioned a few times, and given it a go too, but haven't been convinced/not understood what makes it better.
Re:Bicycle skills by dima55 on Thursday August 02, 2012 @01:46AM (#4327472)
As others mentioned, zsh is compatible enough with bash to make switching relatively painless. There are many areas of zsh that are dramatically better, but the one that can make you fly is the fancy globbing that zsh has. More or less, you never need the 'find' tool when using zsh. For example, if I want to find all the Makefiles in this or child directories that have the string 'abc' and have been modified less than 1 hour ago, I can do

  $ grep -l abc **/Makefile(mh-1)
If I want to look at the most-recently-modified file, I can

  $ less *(om[1])
If I have a symlink 'dir' that points to a directory and I want to cd to the pointed-to directory, I can

  $ cd dir(:A)
Clearly, there are lots of codes, but you don't need to remember them, since the tab-completion gives you online help. I can type the '(' then press 'tab', and it'll give me a list of the various codes that can follow and what they mean.

There are tons of others. If I want all

  *
EXCEPT

  *.h
I can use

  '*~*.h'
Or for instance, say I have a directory of photos. I want to pick DSC00095.jpg through DSC00107.jpg. In bash, you cry; in zsh I say

  DSC<95-107>.jpg.
After I've typed in the glob, I can press 'tab', and it'll expand the glob in-place, letting me know if the code worked without executing. I can then undo to get the code back and have it live in my history.

There are plenty of other non-globbing-related features of zsh that make it worth looking at, but this is one that doesn't get as much press as it deserves.

Re:Bicycle skills by plorkyeran on Wednesday August 01, 2012 @02:00PM (#4324544)
Personally I found zsh worth switching to even without spending any meaningful amount of time learning to use it. The better tab completion alone is enough to make up for the setup time and the occasional bashisms I try that don't work.
Re:Bicycle skills by elithrar on Wednesday August 01, 2012 @09:40PM (#4326758)
> Personally I found zsh worth switching to even without spending any meaningful amount of time learning to use it.

Definitely. Smarter tab completion and smarter word deletion (Ctrl+W) are probably the two "most used" features for me.

FWIW, after ~6 years using Bash, moving to zsh last week was a revelation. I swapped to tmux (after dabbling in screen) the week prior. Has been a good fortnight.

[1] https://github.com/robbyrussell/oh-my-zsh/ is a great source of zsh plug-ins and configs. I use the "simple" theme and the git, brew and gem plugins (amongst others): https://github.com/elithrar/dotfiles/blob/master/zshrc

Re:Bicycle skills by devgutt on Thursday August 02, 2012 @12:58AM (#4327355)
Ctrl-W works in bash too.
Re:Bicycle skills by djeikyb on Thursday August 02, 2012 @02:40AM (#4327618)
For this string with cursor at end: "cd /usr/share/gammu"

Bash[1] deletes to the space. Zsh[2] deletes to the slash. I installed Zsh just now to find this out, and I love that Zsh appears to use ctl-w to delete words like vim does.

[1]: GNU bash, version 4.2.37(2)-release (i686-pc-linux-gnu)

[2]: zsh 5.0.0 (i686-pc-linux-gnu)

Re:Bicycle skills by devgutt on Thursday August 02, 2012 @09:06AM (#4328509)
You can use META-<Backspace> (Emacs mode)
Re:Bicycle skills by mej10 on Wednesday August 01, 2012 @02:21PM (#4324686)
Sort of as others said, the nice thing about switching to zsh is that you get a lot of benefit _just_ by switching, and it is very similar in basic functioning to bash. It isn't like vim or emacs where you can't do basic tasks until you learn a bunch of specific keys.
Re:Bicycle skills by ibotty on Wednesday August 01, 2012 @01:43PM (#4324422)
yes. it will be worth it. once you get past medium shell usage, you will appreciate many of zsh's features. you might have a harder time writing a posix compatible shell script though.
Re:Bicycle skills by aangjie on Wednesday August 01, 2012 @03:43PM (#4325183)
Hmm.. posix compatibility is not high on my list. and hopefully, i won't need much in my future career. -- planning to learn some data analysis and mining.