Der Grund für die manchmal arbeitende / manchmal nicht funktionierende Natur dieses Problems könnte in der Ursache liegen $KEYTIMEOUT
.
Wenn Sie eine Taste drücken, die Teil einer Sequenz aus mehreren Zeichen ist, die in der aktuellen Keymap eingebunden ist, wartet zsh $KEYTIMEOUT
Millisekunden, bis Sie eine zweite Taste drücken. Standardmäßig ist der Wert 40 festgelegt. Dies ist im Handbuch zsh dokumentiert .
Wenn Sie also drücken ^G
, haben Sie 40 ms Zeit, um die Taste zu drücken ^B
. Andernfalls werden die beiden Tastendrücke als separat eingegeben interpretiert und nicht als Teil einer Sequenz.
Sie können den Wert von natürlich ändern $KEYTIMEOUT
, z. B. um ihn länger zu machen, sodass Sie mehr Zeit haben, die zweite Taste zu drücken.
(Beachten Sie, dass dies Anstoßeffekte haben kann, z. B. wenn Sie sich im vi-Einfügemodus befinden und versuchen, ESCzum vi-Befehlsmodus zu drücken, wartet die Shell auf $KEYTIMEOUT
Millisekunden, da es mehrteilige Tastenkombinationen gibt, die mit ESC- insbesondere Pfeil - beginnen Schlüssel!)