From the edit dialog, you can:
reorder commands in the macro
edit commands that have data associated with them (ex. the Find command).
The Edit dialog also allows you to add a new macro id to a command that didn't previously have an associated id (thus turning it into a persistent command), or alter (or remove) the id of an existing command.
Adding new commands to the macro requires that you have some knowledge of the commands. There is a filter above the Available Commands list that defaults to showing only edit commands (based on looking at categories). Some commands are not appropriate to a macro, but it's impossible for me to tell what they are, so you may have to experiment.
Special macro helper commands
Mark selection start - set a 'mark' at the current selection start, or at the caret pos if no selection
Mark selection end - set a 'mark' at the current selection end, or at the caret pos if no selection
Move cursor to mark - Set the editor cursor to the current mark position
Insert string - this is the workhorse command used to add text. Can contain carriage returns.
Find - perform various kinds of text searching
Styled Text commands - These are commands I've added to the system since they aren't commands by default. Actions like "move cursor right" are supported by the StyledText widget but aren't mapped as key bindings.
Macro script - You can write whatever scripts you'd like using beanshell. I pass in several variables for the editor that should be useful.
The Mark commands are provided as a way to maintain some state while other operations are performed without requiring scripting.
For example, to comment a selected area, you could record a sequence of commands like:
mark selection start
move cursor right (puts cursor at end of selection
insert string "*/"
move cursor to mark
insert string "/*"