One way is via shortcuts, but that covers only the more commonly used ones as it's impossible to remember all the commands
Another way is via carefully crafting the top menu bar with various icons and submenus etc.
I know there is this global Mac function that allows you to search all the menu commands, but it's not great as it's not a fuzzy search
I'd like to propose one of the best things for such UI complexity that exists in some other apps like Sublime Text:
- command palette with
- fuzzy search
- user-customizable command names
For example, compare the results of a simple typo "cpy" instead of "copy"
Default Mac menu search fail (no fuzzy search): Sublime Text's success with fuzzy search:
However, there is also an extra beauty of customizable command names: you can have your own little groups of commands that you can find with a single shortcut.
For example, I have ⌥R insert a special character ◊. Then I can add this symbol to all the rotate commands, and then I can use the mnemonic "rotate" to hit ⌥R and it would only show me the list of commands that rotate the image!!! So a single memorable shortcut to find a whole bunch of commands instead of the full word "rotate" that can be ruined with a single typo
Below is an example from Subime: typing ⌥R inserts ◊ and then you only see "Regex" commands (one shown in this example)