Вставьте строку текста перед строками, соответствующими регулярному выражению в vim

Вставьте строку текста перед строками, соответствующими регулярному выражению в vim

Я пытаюсь добавить столбец в таблицу HTML с помощью vim, поэтому мне нужно добавить пару <td>тегов в строку перед каждым </tr>. Пока что у меня есть

:186,$s/ <\/tr>/<td><\/td> \n <\/tr>/g
^@но vim вместо создания новой строки для закрывающего тега tr показывает . Есть ли способ обойти это?

решение1

Да, вам нужно использовать \rвместо \nв заменяющей части, это особенность :sкоманды Vim. И вы можете еще больше упростить команду, используя другой разделитель, например #, и ссылаясь на совпадение через &:

:186,$s# </tr>#<td></td> \r&#g

Связанный контент