Vim: Вставить совпавший шаблон

Используйте этот трюк для быстрого поиска и замены.

Мы написали несколько советов о сопоставлении с шаблоном, в основном потому, что это очень ценный навык, который нужно развивать. Некоторые популярные из них включают Vim: Повторить последнюю замену, Vim: Оставайтесь в режиме поиска и Vim: Подсчёт вхождений.

Но также, кажется, так много всего нужно узнать об этом уголке Vim. Вот трюк, который я недавно изучил: Амперсанд & в вашем замещающем шаблоне вставит совпавший шаблон в замещающий текст. Это может быть полезно во многих местах, например, для окружения текста чем-либо. (Хотя вы используете Surround.vim, верно?)

Взгляните на видео внизу этой статьи. В демонстрации я использую этот трюк, чтобы сопоставить URL-адреса и заменить их синтаксисом Markdown. Замена выглядит так:

%s/https\?.*/[&](&)/g

Вот что это делает:

  • % — Устанавливает диапазон на весь файл.
  • s — Замена.
  • /https\?.*/ — регулярное выражение для соответствия http или https и всему остальному после него.
  • [&](&) — Здесь магия & вставляет совпадающий текст. В данном случае URL. Остальные символы интерпретируются буквально, давая нам ссылку на URL в результирующем Markdown.
  • /g — изменяет все совпадения в строке.

Обратите внимание, что не все разновидности Markdown поддерживают этот формат бестекстовой ссылки. Но, несмотря ни на что, смысл в том, чтобы продемонстрировать использование совпавшего шаблона внутри подстановки. (Кроме того, если вы пишете много Markdown, вам может пригодиться vim-markdown-preview)

Этот совет хорошо сочетается с использованием заглавных и строчных экранирующих символов для изменения регистра. Теперь перейдём к демонстрационному видео:

Дополнительные материалы

Предыдущая Статья

Настройка и установка PostgreSQL с помощью Docker

Следующая Статья

Что такое URL