Я бы использовал плагин для сниппета, например UltiSnips (мой любимый) или Snipmate .Они по существу расширяют небольшое слово или фрагмент текста на большие фрагменты кода и позволяют редактировать только те части, которые являются уникальными для каждой структуры.И UltiSnips, и Snippmate включают фрагменты для многих языков и позволяют вам создавать свои собственные фрагменты.
Например, UltiSnips включает фрагмент функции для Lua.Я просто должен набрать fun
, а затем нажать клавишу Tab, и она расширится до
function new_function(args)
end
, и будет выбран new_fuctnion
, чтобы я мог редактировать имя функции.Затем, когда я нажимаю Ctrl - j (в моем vimrc я перепривязываю это к Tab ), он выбирает следующую часть фрагмента, которая в этом * args
случай, позволяющий мне ввести аргументы функции.Окончательный Ctrl - j помещает курсор в тело функции.