У меня есть код, похожий на этот:

<%= article.body %></td>
<%= article.author %></td>
<%= link_to 'Show', article %></td>
<%= link_to 'Edit', edit_article_path(article) %></td>
<%= link_to 'Destroy', article, :confirm => 'Are you sure?', :method => :delete %></td>

Я хочу удалить теги HTML из конца строк в Vim. Единственный способ, которым я думал, был поиск и замена. Я знаю, что могу вставлять и добавлять текст в несколько строк, но есть ли способ удалить текст из нескольких строк?

2 ответа2

3

Найдите и замените после '<' строку символов, отличающуюся от (^) символом '<', до тех пор, пока не достигнете '>', который также находится в конце строки:

% S /<[^ <]+> $ //г

Исправление:

% S /<[^ <]\+> $ //г

0

Это один действительный метод.

С http://vim.wikia.com/wiki/Power_of_g

:[range]g/<pattern>/cmd

Команда Ex - это команда, начинающаяся с двоеточия (':'). Команда работает в указанном диапазоне (весь файл по умолчанию), выполняя команду Exd cmd для каждого совпадения строки. Перед выполнением cmd "." устанавливается на текущую строку.

Это кажется одинаково легким способом выполнить команду для группы файлов.

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