Mogę już zmapować kombinację klawiszy w trybie wstawiania:
:inoremap abc <do stuff>
Ma to jednak kilka wad:
Podczas wpisywania częściowej wersji sekwencji, na przykład
ab
, znaki nie są wyświetlane przez krótki czas, ponieważ „czeka”, aby sprawdzić, czy zamierzasz wpisać pełne polecenie. To jest niepożądane; Chcę zmapować łańcuch liter bez pauzy, jeśli zostanie wprowadzone częściowe podłańcuch łańcucha.Jeśli piszę
ab
, pauzuj (i poczekaj, aż znaki pojawią się tak, jak wspomniano w powyższym punkcie), a następnie wpiszc
, polecenie nie jest wykonywane. Chcę, aby polecenie zostało wykonane bez względu na to, jak długo będę czekać.
Chciałbym użyć iab
, ale to nie działa, ponieważ:
- Wymaga wprowadzenia spacji po ciągu
- Nie mogę z nim wykonywać dowolnych poleceń, wstawiam tylko ciąg tekstu.
Czy jest jakiś sposób na wykonanie polecenia lub naciśnięcia klawisza, jeśli określony ciąg zostanie wprowadzony w trybie wstawiania, bez użycia mapy (która irytująco zatrzyma się za każdym razem, gdy wpisuję, a
i nie będzie działać, jeśli będę czekać zbyt długo)?
ab<any key>
.
:cnoremap abc <do stuff>
...