Создание превосходного ответа от @KeithPinson (извините, репутации пока недостаточно для комментирования вашего ответа), эта альтернатива не позволит автозаполнению копировать что-либо лишнее, что может быть внутри тега html (например, classes, id, и т. д.), но не следует копировать в закрывающий тег.
ОБНОВЛЕНИЕ Я обновил свой ответ для работы с filename.html.erb
файлами.
Я заметил, что мой исходный ответ не работал в файлах, обычно используемых в представлениях Rails, например some_file.html.erb
, когда я использовал встроенный ruby (например, <p>Year: <%= @year %><p>
). Код ниже будет работать с .html.erb
файлами.
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwo</<C-r>"><Esc>O
Пример использования
Тип:
<div class="foo">[Tab]
Результат:
<div class="foo">
|
<div>
, где |
указывает положение курсора
В качестве примера добавления встроенного закрывающего тега вместо стиля блока:
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwh/[^%]><CR>la</<C-r>"><Esc>F<i
Пример использования
Тип:
<div class="foo">[Tab]
Результат:
<div class="foo">|<div>
, где |
указывает положение курсора
Это правда, что оба приведенных выше примера полагаются на >[Tab]
, чтобы сигнализировать о закрывающем теге (то есть вам нужно будет выбрать или встроенный или блочный стиль). Лично я использую блочный стиль с >[Tab]
и встроенный стиль с >>
.