Die Frage ergibt sich aus einem Problem bei der Verwendung einer riesigen neu zugeordneten Konfiguration, sodass das bépo- Layout zumindest für Befehle zum Drücken einer einzelnen Taste praktisch dem QWERTY im normalen Modus entspricht.
Wenn Sie Text im visuellen Auswahlmodus auswählen und dann drücken, i
was als konfiguriert ist noremap i d
, wird erwartet, dass der Text sofort gelöscht wird. Es wird jedoch nicht sofort ausgelöst, sondern wartet auf einen möglichen zweiten Schlüssel.
Wenn Sie timeoutlen
den Wert auf Null setzen, wird in diesem Zusammenhang das erwartete Ergebnis erzielt, aber ein Befehl wie ,,
der, der so konfiguriert noremap ,, gg
ist, funktioniert nicht mehr.
Ist es also möglich, ein Timeout für einen Befehl oder in einem bestimmten Kontext wie im visuellen Auswahlmodus mit einer aktiven Auswahl festzulegen?
Wenn Sie timeoutlen
auf Null gedreht haben, kann dies möglicherweise noremap ,, gg
unbrauchbar werden. Das Entfernen dieser Zuordnung kann also ausreichen, um das erwartete Ergebnis zu erzielen.
quelle
CursorMoved
und überwachen Änderungen an den Modi, dies ist jedoch fehleranfällig und zu viel Aufwand).Antworten:
Es hört sich so an, als hättest du so etwas
Und Sie fragen, dass für
i
das Timeout 0 ist.In diesem Fall könnten Sie keine der
ix
Zuordnungen eingeben. Warum also nicht einfach entfernen und das Problem auf diese Weise lösen?Wenn dies nur für den visuellen Modus gilt, vermeiden Sie es, Zuordnungen zu definieren, die
i
für diesen Modus beginnen.Sie können die Zuordnungen entfernen, die Sie in den Kommentaren mit erwähnt haben
quelle
:map i
zu sehen, welche Zuordnungen für welche Modi definiert sind.x iM *@:<C-U>call <SNR>30_wrap_i('[[','][')<CR> o iM *@:<C-U>call <SNR>30_wrap_i('[[','][')<CR> x im *@:<C-U>call <SNR>30_wrap_i('[m',']M')<CR> o im *@:<C-U>call <SNR>30_wrap_i('[m',']M')<CR> i * d
x
steht für visuellen Modus - daher sollten Sie dieiM
undim
Zuordnungen entfernen .