Partiendo de la excelente respuesta de @KeithPinson (lo siento, todavía no hay suficientes puntos de reputación para comentar su respuesta), esta alternativa evitará que el autocompletado copie cualquier cosa adicional que pueda estar dentro de la etiqueta html (por ejemplo, clases, identificadores, etc.) .) pero no debe copiarse en la etiqueta de cierre.
ACTUALIZAR He actualizado mi respuesta para trabajar con filename.html.erb
archivos.
Noté que mi respuesta original no funcionaba en archivos que se usan comúnmente en las vistas de Rails, como some_file.html.erb
cuando estaba usando ruby incrustado (por ejemplo <p>Year: <%= @year %><p>
). El código siguiente será trabajar con .html.erb
archivos.
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwo</<C-r>"><Esc>O
Uso de muestra
Tipo:
<div class="foo">[Tab]
Resultado:
<div class="foo">
|
<div>
donde |
indica la posición del cursor
Y como ejemplo de cómo agregar la etiqueta de cierre en línea en lugar del estilo de bloque:
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwh/[^%]><CR>la</<C-r>"><Esc>F<i
Uso de muestra
Tipo:
<div class="foo">[Tab]
Resultado:
<div class="foo">|<div>
donde |
indica la posición del cursor
Es cierto que los dos ejemplos anteriores se basan en >[Tab]
señalar una etiqueta de cierre (lo que significa que tendría que elegir ya sea en línea o estilo de bloque). Personalmente, uso el estilo de bloque con >[Tab]
y el estilo en línea con >>
.
Ctrl-_
, pero esto hace que mi terminal sea una fuente pequeña.