For starters, I like the tab completion and history in Zsh. Another cool thing is that you can just type in the name of a directory to cd to it. Then with"alias ...=../../.." and so on you can just type in"..." to move up two directories. This combines well with the history mechanism. You can also alias directories, for example:
Code: Select all
hash -d LiveUSB=~/Projects/antiX/LiveUSB
This allows my to type either"cd ~LiveUSB" or just"~LiveUSB" or even just"~L<tab>" to get to that specific directory. I try to design my aliases and functions to make the command history as useful as possible. I'm constantly using tab completion and history. For example I have an isomount function for mounting iso files. I had originally named it"mountiso" but by naming it"isomount" instead,"mo<up-arrow>" gets me my most recent"mount" command while"iso<up-arrow>" gets me my most recent isomount command and further up-arrows cycle through just the isomount commands instead of mixing mount and mountiso commands. Usually 2 or 3 letters suffice to specify a command. To help this along I added aliases"sucp" and"sumv" and maybe some others. This keeps"sudo .." separate from"sucp" and"sumv" in the command history.
Of course, you can also do history searches that include parameters as well as commands. I have these bound to <pg-up> and <pg-dn> while the command history is bound to <up-arrow> and <dn-arrow>.
I'm sure I've only scratched the surface. Here is a user's guide:
========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
url was:"http://zsh.sourceforge.net/Guide/zshguide.html"
linktext was:"http://zsh.sourceforge.net/Guide/zshguide.html"
====================================
Depending on your users, it might cause more trouble that it's worth, mostly because there is a ubiquitous assumption that everyone runs Bash. For example, online instructions often tell people to edit their .bashrc regardless of which shell is being used. You would certainly need to provide them with a good default .zshrc.
IMO, for someone who does not spend a lot of time at the command line, it is not worth it but for someone who spends hours per day at the command line then it is a good investment. BTW: I got started with antiX development because I wanted to add Zsh to the antiX LiveCD/USB. The SysRescueCD was brain-dead at that time. It had very long boot times and high resolution (>640-x580) virtual consoles were not available. The antiX LiveCD had everything I wanted except Zsh.
The reason I mentioned Zsh is that some of your aliases seemed to be reaching in the direction of the convenience of Zsh. IMO Zsh would let you take what you are doing in some of your aliases to the next step.