3 ms·
Emacs eliminates the need to learn a subset of the diaspora of bicycle-skills. The same shortcuts, the same skills transfer over to a wide variety of problem-so
by heretohelp 14y ago
Emacs eliminates the need to learn a subset of the diaspora of bicycle-skills. The same shortcuts, the same skills transfer over to a wide variety of problem-solving approaches.
One of those...is zsh. You just don't need it when you're an Emacs user. You get all the power of Emacs, but you can use it in the inferior shell. No need to remember weird arg registers.
- gecko 14y agoI'm a heavy Emacs user, and I don't agree with that statement. I can see three places you might be coming from and feel that way: you use Eshell; you use ansi-term mode with e.g. bash; or you simply barely ever hit shell, instead using things like dired-interactive to accomplish shell-like tasks. The last, to me, is a nonstarter. You can do many, many things using native Emacs tools, but not all. dired is not the right tool for quickly making a pile of nested directories and moving files into them based on file size, there is no Emacs take on top, etc. You can come back and say, "Fine, write some elisp for that," but to me, that's like saying you don't need to learn PowerShell because you have Explorer and VBScript. Just because there's overlapping functionality doesn't mean that one tool can substitute for the other. If you were thinking ansi-term, then learning the nuances of zsh (or fish or whatever) is still helpful. ansi-term, at most, frees you from memorizing keystrokes. Past that, you're still very much using whatever shell you're invoking. I'd want to learn zsh just as much, or as little, running in ansi-term as in Emacs. That just leaves Eshell. I like Eshell fine, but there are hard limits on what you can do with it as a shell, because it's not really a shell as much as an interactive elisp REPL with an alternative default syntax. Job management and piping are bizarre, you're still thrown into ansi-term for interactive tools (and yes, there are some tools I would prefer to use interactively), even non-interactive stuff sometimes displays incorrectly or bizarrely due to Eshell not really being a term, and so on. So while you can use Eshell most of the time, it's not a complete replacement for a real shell. Now, is it possible that Emacs tools like dired/VCS integration/etc., combined with Eshell, means you can use a "real" shell less if you want to? Yeah, sure--just like I can use folder actions and AppleScript on my desktop to replace some of my old cron jobs with on-demand drag-and-drop processing. But to say that learning zsh wouldn't be rewarding if I knew Emacs just strikes me as weird.
- heretohelp 14y agoI don't use dired. I don't use the baked-in VCS utilities most of the time, although annotate is really nice. I use the inferior shell and magit.
- neutronicus 14y agoI had a job where the build didn't work if you started it from inside M-x shell. On that day I resolved to learn the actual shell.
- heretohelp 14y agoSounds like cargo cult and a bad build script.