Как объяснить ":% g / <h [12]> / t $" в vim? - PullRequest
0 голосов
/ 29 июня 2018

Я нашел это

:%g/<h[12]>/ t$

в http://www.vimregex.com/

Там написано

Эта команда ищет в нашем файле строки, начинающиеся с <h1> или <h2> и копирует их в конец файла.

но я не могу понять часть / t$, что это значит?

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Если вы запустите эту команду help в vim:

:help copy

Будет показана следующая справка, которая объяснит все:

:[range]co[py] {address}                *:co* *:copy*
            Copy the lines given by [range] to below the line
            given by {address}.

                            *:t*
:t          Synonym for copy.

Полная информация:

  • :g: глобальный поиск
  • <h[12]>: поиск <h1> или <h2>
  • t$ или copy$: скопировать строки, заданные [range], ниже строки, заданной {address}.

Вы могли бы сделать это более многословным. но более читабелен при использовании этой эквивалентной команды:

:%g/<h[12]>/ copy$

или это:

:%g/<h[12]>/ co$

Чтобы скопировать совпадающие строки в начале файла, используйте:

:%g/<h[12]>/ copy0
0 голосов
/ 29 июня 2018

% - это диапазон строк для запуска команды - % - это весь файл.

Команда g является "глобальной" - ищет строки, соответствующие регулярному выражению, и применяет другую команду к соответствующим строкам

/<h[12]>/ - это регулярное выражение для сопоставления.

Команда t - «копировать» - копирует выбранные строки куда-нибудь. $ является концом, поэтому строки копируются в конец файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...