If your command phrases are individual NATO alphabet "letters", the relevant commands should already be executed, theoretically in order, but as they run asynchronously, the order of the actual output cannot be guaranteed
Have you found that having each command press its relevant key does not produce the intended sequence?
To step through a string, you could use a loop, combined with a few tokens like "{TXTPOS:}", and "{TXTSUBSTR:}" to find and retrieve the first character after each space (as well as the first character of the entire sequence, which wouldn't have a space preceding it), if you want to only use native actions.
A more practical approach may be to use a C# inline function to do the actual parsing of the string, using String.Split() and String.SubString(), to split on the space character, and to output the resulting characters to a set of numbered variables (E.G. "~key0", "~key1", etc...), as well as a variable with the total amount of keys to press
After the inline function, a For loop that runs from 0 to the total amount of keys to press, with an indexer (E.G. "~i"), containing a variable keypress which retrieves that value of the relevant variable by using a token to substitute the numeric part of the variable name with that indexer (E.G. "~key{INT:~i}"), would take care of the actual keypresses
Using an inline function would also make it more feasible to check whether each element in the string array is actually valid input, as wildcards rely on the dictation capabilities of the speech recognition engine, which is less accurate than predefined commands.
E.G. you may get "the hotel echo when the lima on par" instead, in which case you might even want to discard the input altogether to prevent erroneous actions getting performed in vim