Как текстовый редактор (у которого нет особой сильной модели текстовой структуры, за исключением подсветки синтаксиса, и эта информация вряд ли используется для редактирования задач), Vim не предлагает элегантного и простого решения для этого. Однако существует несколько возможных подходов:
замена
Если у вас нет каких-либо сопоставлений для настройки этого, это много для ввода, но очень общее:
:1,3substitute#</li>$#</div>#
трюк
Поскольку вы специально спросили о режиме визуального блока, вы можете временно выровнять текст по правому краю, чтобы сделать это:
:1,3right
" Use <C-v> to select the (now aligned) tags, and edit them.
:1,3left " Or re-indent via 3==
с помощью плагина
vim-множественные курсоры является одной из наиболее ярких реализаций идеи наличия нескольких местоположений редактирования в текущем буфере, которые применяют изменения параллельно каждому. С помощью его сопоставлений вы можете выбрать все конечные теги, а затем редактировать их все вместе (например, через cdiv<Esc>
).