Я вже можу скласти комбінацію клавіш у режимі вставки:
:inoremap abc <do stuff>
Однак у цього є кілька недоліків:
Під час введення часткової версії послідовності, наприклад
ab
, символи фактично не відображаються протягом короткого часу, оскільки він "чекає", щоб побачити, чи збираєтесь ви вводити повну команду. Це небажано; Я хочу зіставити ланцюжок літер без пауз, якщо введено часткову підрядку ланцюжка.Якщо я набираю
ab
, то зробіть паузу (і дочекайтеся, коли символи дійсно з’являться, як зазначено у вищевказаній точці), а потім наберіть командуc
, команда не виконується. Я хочу, щоб команда виконувалася незалежно від того, як довго я чекаю.
Я б використовував iab
, але це не працює, оскільки:
- Це вимагає введення пробілу після рядка
- Я не можу виконувати з ним довільні команди, лише вставляю рядок тексту.
Чи є якийсь спосіб виконати команду або натискання клавіш, якщо певний рядок буде введено у режимі вставки, не використовуючи карту (яка буде дратівливо призупиняти кожного разу, коли я набираю a
і не працюватиму, якщо чекатиму занадто довго)?
ab<any key>
.
:cnoremap abc <do stuff>
...