Это старый вопрос, но я все равно решил внести свой вклад.Вот как вы можете взять абзац и обернуть текст вокруг него.Не совсем то, что вы просили, но этот будет намного аккуратнее, если вы будете писать маленькие, маленькие, маленькие кусочки кода.В любом месте типа абзаца:
> ip (отступ абзаца)
ki (перейти к первой строке и открыть новую)
введите то, что вы хотите в начале абзаца, здесь
} (перейти к последней строке абзаца)
введитечто вы хотите в конце абзаца
Предостережения здесь, как подразумевается, это должен быть «абзац» (нетпустые строки), и это не будет работать должным образом, если после абзаца нет новой строки.Для этого используйте i вместо o , но тогда вы будете пустой строкой перед нижним битом кода, который вы вставляете.Вам нужно было бы написать что-нибудь в vimscript, если вы хотите учесть это.
Вот все штрихи, которые я использую для настройки макроса t
, чтобы сделать блок begin / rescue / end (например):
qt> ipkibegin } orescue end q
Есть, конечно, лучшие способы, но это держать его наМарко уровень.