Thanks for "export KEYTIMEOUT=1"!

I use https://github.com/robbyrussell/oh-my-zsh which has a nice vi-mode plugin, built in indicators like you mentioned too

A terrific fork of oh-my-zsh is Prezto.

https://github.com/sorin-ionescu/prezto