I use and love the same mechanism with a different binding though:
bindkey '^P' up-line-or-search
bindkey '^N' down-line-or-search
Using Ctrl - P or Ctrl - N on an empty command line will just cycle through all your past commands.
Now if the line begins by vim, then pressing Ctrl - P will cycle just through all your previous vim commands
Greatness!