Когда я редактирую сценарий оболочки с включенной подсветкой синтаксиса в vim, в тот момент, когда я набираю значение открытия "или $ {, редактор немедленно повторно выделяет остальную часть файла, как если бы он был частью имени строки или переменной. Затем, когда я набираю закрывающий "или", он снова подсвечивается. Это приводит к большому перепрошивке.

Можно ли отключить эту глобальную живую перекраску? Например, есть ли возможность не менять подсветку, пока я не выйду из режима вставки? Или, возможно, изменить подсветку только для строк, на которые влияет новая вставка, и сохранить подсветку для остальных строк, пока я не закончу редактирование?

1 ответ1

1

К сожалению, это невозможно. Теоретически, подсветка синтаксиса может добавить утверждения к определениям, которые говорят, что «соответствует этому, только если курсор не находится внутри», но так как это сделает регулярные выражения более громоздкими (и, возможно, также намного медленнее), это не сделано.

Вы можете только полностью отключить / включить подсветку синтаксиса при входе / выходе из режима вставки, но это приведет к еще большему миганию (и может вызвать замедление, так как весь буфер должен быть пересмотрен).

Единственный практический совет, который я могу предложить, - это использовать плагин autoclose (автоматически добавляющиеся закрывающие символы вики-страница описывает некоторые простые настройки и список плагинов), который автоматически закрывает все открытые скобки и, таким образом, в основном избегает проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .