Posso già mappare una combinazione di tasti in modalità inserimento:
:inoremap abc <do stuff>
Tuttavia, ciò presenta alcuni inconvenienti:
Quando si digita una versione parziale della sequenza, ad esempio
ab, i caratteri non vengono effettivamente visualizzati per un breve periodo di tempo, poiché è "in attesa" per vedere se si sta per digitare il comando completo. Questo è indesiderabile; Voglio mappare una catena di lettere senza mettere in pausa se viene inserita una sottostringa parziale della catena.Se scrivo
ab, quindi metto in pausa (e aspetto che i caratteri appaiano effettivamente come indicato nel punto precedente), quindi digito ilc, il comando non viene eseguito. Voglio che il comando venga eseguito, indipendentemente da quanto tempo aspetto.
Vorrei usare un iab, ma non funziona perché:
- Richiede l'immissione di uno spazio dopo la stringa
- Non posso eseguire comandi arbitrari con esso, inserire solo una stringa di testo.
Esiste un modo per eseguire un comando o sequenze di tasti se viene immessa una determinata stringa in modalità di inserimento, senza utilizzare una mappa (che si fermerà in modo fastidioso ogni volta che scrivo un ae non funziona se aspetto troppo a lungo)?
ab<any key>.
:cnoremap abc <do stuff>...