посмотрите на surround.vim .Я думаю, что вы можете расширить его своими собственными парами «открыть / закрыть».Это поведение построено уже для нескольких типов пар.Два примера, чтобы зажечь ваш интерес:
vS
C -] (оборачивается в {
... }
с новой строкой вокруг и с отступомк настройкам отступа типа файла
vS
C - <</kbd>para
Введите (переносится в <para>
... </para>
), пример:
.
the quick fox jumped over
(установите курсор на q
in quick , нажмите v2eS
C - <</kbd>para
Введите
Результат:
the <para>
quick fox
</para> jumped over
Редактировать
Похоже, что вы хотели этого наоборот - без переносов строк . Ну, тогда используйте vs<para
Введите или vS{
соответственно, которые по умолчанию не вставляют разрывы строк