Vim normal mode macro

This pull request is a break down from #1521, it allows vim normal mode to support register based macros.