У меня есть несколько файлов HTML, которые образуют небольшой сайт. Несколько строк кода дублируются вверху файлов (хотя <title> отличается), а несколько строк дублируются внизу.

Я мог бы использовать прекомпилятор, такой как Jekyll, и использовать макеты, поэтому мне нужно всего лишь один раз изменить код, но я чувствую, что это добавляет ненужную сложность проекту. Я мог бы использовать регулярные выражения (что я сейчас и делаю, используя DirDo.vim), но это немного хлопотно .

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

1 ответ1

2

В Vim эту проблему можно разбить на две части:

  1. Применение редактирования к нескольким файлам
  2. Повторяя то же самое редактирование

Для 1. вы используете плагин DirDo ; альтернативы будут встроенными :argdo :bufdo и т. д.

Для 2. вы можете использовать любую (комбинацию) команд Vim. Наиболее мощным из них является :substitute , используя :[range] чтобы выбрать строки, и регулярное выражение, чтобы (найти точку) изменить текст в этих строках.

Вы также можете записать макрос и повторно применить его с помощью :normal! @a . Из, если это одиночное редактирование в начале одной строки, повторите через :[address]normal! . было бы достаточно (но ограничено одной операцией редактирования и тем фактом, что :normal положение курсора в начале строки).

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