Use zsh hooks to make vicmd/emacs switch seamless