O motivo da natureza do problema "às vezes funciona / às vezes não funciona" pode ser devido a $KEYTIMEOUT .
Quando você pressiona uma tecla que faz parte de uma sequência de vários caracteres vinculada no mapa de teclas atual, o comando zsh aguarda $KEYTIMEOUT milésimos de segundo para pressionar uma segunda tecla. Por padrão, ele é definido para um valor de 40. Isso está documentado no manual do zsh .
Portanto, se você pressionar ^G , terá 40ms para pressionar ^B , caso contrário, os dois pressionamentos de tecla serão interpretados como tendo sido inseridos separadamente e não como parte de uma sequência.
Você pode obviamente alterar o valor de $KEYTIMEOUT , por exemplo para torná-lo mais longo para que você tenha mais tempo para pressionar a segunda tecla.
(Note que isto pode ter efeitos secundários, por exemplo, se você estiver no modo de inserção vi e tentar pressionar ESC para ir para o modo de comando vi, o shell irá esperar por $KEYTIMEOUT milissegundos porque existem atalhos de teclado com vários caracteres que começam com ESC - principalmente as teclas de seta!)