Aufbauend auf der hervorragenden Antwort von @KeithPinson (leider noch nicht genügend Reputationspunkte, um Ihre Antwort zu kommentieren) verhindert diese Alternative, dass die automatische Vervollständigung zusätzliche Elemente kopiert, die sich möglicherweise im HTML-Tag befinden (z. B. Klassen, IDs usw.). .) sollte aber nicht in das schließende Tag kopiert werden.
UPDATE Ich habe meine Antwort aktualisiert, um mit filename.html.erb
Dateien zu arbeiten .
Ich habe festgestellt, dass meine ursprüngliche Antwort in Dateien, die häufig in Rails-Ansichten verwendet werden, nicht funktioniert hat, some_file.html.erb
z <p>Year: <%= @year %><p>
. B. wenn ich eingebettetes Ruby verwendet habe (z . B. ). Der folgende Code wird mit arbeiten .html.erb
Dateien.
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwo</<C-r>"><Esc>O
Beispielnutzung
Art:
<div class="foo">[Tab]
Ergebnis:
<div class="foo">
|
<div>
wo |
zeigt die Cursorposition an
Und als Beispiel für das Hinzufügen des schließenden Tags inline anstelle des Blockstils:
inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwh/[^%]><CR>la</<C-r>"><Esc>F<i
Beispielnutzung
Art:
<div class="foo">[Tab]
Ergebnis:
<div class="foo">|<div>
wo |
zeigt die Cursorposition an
Es ist wahr, dass beide der obigen Beispiele darauf beruhen >[Tab]
, ein schließendes Tag zu signalisieren (was bedeutet, dass Sie entweder den Inline- oder den Blockstil wählen müssten ). Persönlich verwende ich den Blockstil mit >[Tab]
und den Inline-Stil mit >>
.
Ctrl-_
, aber das macht kleine Schrift meines Terminals.