Еще одна возможная реализация, использующая небольшую карту.
function! GetTag()
let tag = input("Tag: ")
execute "normal! i<".tag."></".tag.">"
execute "normal! " . repeat('h', strlen(tag)+2)
endfunction
inoremap \tag <C-o>:call GetTag()<enter>
Однако я полностью согласен с тем, что вы сэкономите массу времени, используя вместо этого плагины, предназначенные для такого рода вещей.
Редактировать: удалены ненужные для цикла.