I'm not a vi user, but you could have a look at vi macros and mention that in your assignment as a means of recording all keystrokes.
Also, look through all the commands you mentioned in your list and consider whether you can convert any of them into commands that will be recorded by history. For example, would 1 work instead of gg? Can you issue commands to operate on specific (and thus history recordable) lines/data rather than using "current" line/data commands (e.g. :[start_line_no],[end_line_no]d)?
Last edited by hydrurga; 07-03-2016 at 07:04 AM.