Нужно записать макрос для одной строки и запустить его для каждой строки. В идеале, макрос записывается так, чтобы начинать действия в начале строки, а заканчивать действия в начале следующей строки (чтобы можно было его просто запускать и он строки преобразовывал последовательно друг за другом).
В Vim'е есть запись макросов и в Emacs'е есть запись макросов.
Как сделать сам макрос:
1. Нужно поставить курсор на начало строки.
2. Включить запись макроса.
3. Через поиск строки найти начало тега "<img
".
4. Вернуться на открывающую угловую скобку.
5. Начать выделение.
6. Через поиск перейти к закрывающей угловой скобке.
7. Перейти за закрывающую угловую скобку.
8. Вырезать выделенное.
9. Через поиск найти конец тега "span>
".
10. Перейти за закрывающую угловую скобку.
11. Вставить содержимое буфера.
12. Перейти в конец строки.
13. Перейти на следующую строку.
14. Вернуться в начало строки.
15. Остановить запись макроса.
Тут так много написано не потому, что надо много делать, а чтобы было всё понятно. На самом деле, это делается 10 секунд.
Чем быстрее приучишься к макросам, когда будешь их записывать по несколько штук в день, тем быстрее будешь обрабатывать подобные тексты. Это очень мощное средство.
В Vim'е макросы послабее, чем в Emacs'е, там их меньше сохранять можно, да и, вроде, нет какого-то мощного редактора, тогда как в Emacs'е для редактирования макросов есть несколько режимов, их можно писать в символьном виде как обычный текст (не только записывать действия), да и просто можно частично менять их и отлаживать.