Если я создам сопоставления в vim для автокоррекции («teh» на «the»), как это повлияет на скорость Vim?
Кроме того, если бы я действительно захотел набрать «teh», как бы я это сделал, не сделав автокоррекцию в vim?
решение1
Пожалуйста, используйтеаббревиатуры, нетотображениядля них. Первый вариант активируется только после того, как будет набрано все слово (как в текстовых процессорах), и не имеет побочного эффекта подавления дополнительных символов до тех пор, пока сопоставление не будет выполнено или не совпадет:
:ia teh the
Вы не заметите задержки, и можно будет определить сотни, если не тысячи, таковых, не замечая этого.
Чтобы избежать аббревиатуры в режиме вставки: Введите часть аббревиатуры, выйдите из режима вставки с помощью <Esc>
, снова войдите в режим вставки с помощью a
и введите остаток. Или введите <C-V>
перед символом после аббревиатуры.
Все подробности на сайте :help abbreviations
.
решение2
- Разница в скорости будет незначительной.
- Вы можете использовать
<C-C>
, чтобы выйти из режима вставки, это остановит попытки vim изменить аббревиатуру, или вы можете ввести ее и поставить пробел или что-то еще, а затем удалить этот символ после слов.
решение3
У меня более 44 000 сокращений, которые загружаются асинхронно каждый раз, когда я запускаю vim. Задержка происходит только при вставке нового сокращения, и она увеличивается с длиной списка существующих сокращений. После добавления нет никакой разницы в скорости в режиме вставки по сравнению с отсутствием сокращений вообще.
Как упоминалось в других ответах, используйте <C-C>
или <C-V>
после ввода слова, чтобы избежать его автоматической замены. Использование <C-V>
удерживает вас в режиме вставки, пока <C-C>
возвращает в обычный режим.