Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Best practices for managing aliases in ohmyzsh?




Note that oh-my-zsh is a separate project that is not affiliated
with this one.  There might be someone on this list who is familiar
with how it works, but it's hardly a guarantee.

Right. I had hunted around for an ohmyzsh list but didn't find one (but if you know of one, let me know). My original question wasn't about ohmyzsh so sorry for going off on an unrelated tangent.

>> If not, what's everyone else doing who has a
>> couple hundred aliases. Are you just throwing them all into .zshrc or
>> doing something to help manage all your aliases?

> I'm the least qualified guy on the list, but I can tell you that you
> can take advantage of all the built in complexities that zsh offers or
> you can make it as dead simple as you desire.

I don't use any aliases, and only a couple of functions.  But, as
Ray said, you can organize things however you like.  One rudimentary
method is to just separate your alias definitions into their own
file and source it from $ZDOTDIR/.zshrc:

    ### $ZDOTDIR/zsh_aliases ###
    alias foo='one thing'
    alias bar='another thing'

    ### $ZDOTDIR/.zshrc ###
    . $ZDOTDIR/zsh_aliases

Yeah, this is the direction I'm leaning.

Going further, you could use multiple files, organize them in a
directory hierarchy, etc.

In bash, I had a fancy system for grouping aliases by category into their own files. It was probably more trouble than it's worth. Probably easiest to have one big file for aliases and comment off the different sections.


In general, zsh will not run bash code 100% correctly unless it is
written *extremely* portably.  Your old functions almost certainly
need to be tweaked to one degree or another.

My functions are very simple so I haven't run into any problems yet. But I will definitely keep this in mind going forward.

I don't use any zsh configuration frameworks, but in my experience
they don't love it when you work with one foot inside their black
box and the other outside of it.

I mostly installed it to experiment with the different prompts the built-in themes provided and out of curiosity to see what some of the advanced capabilities of zsh might be. It's probably not the brightest idea to learn zsh through the lens of ohmyzsh.


So what is the "real" .zszhrc supposed to be?

Whatever you want it to be.  The distribution usually includes the
"zsh-newuser-install" function, which is intended to interactively
guide you through creating a .zshrc file.

https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#User-Configuration-Functions

OK, thanks. I appreciate the time.




Messages sorted by: Reverse Date, Date, Thread, Author