Wie ändere ich das Paar eines geänderten HTML-Tags in Vim?

Wie ändere ich das Paar eines geänderten HTML-Tags in Vim?

Wie kann ich Vim so konfigurieren, dass, wenn ich ein Mitglied eines passenden HTML-Tag-Paares ändere, das andere automatisch entsprechend geändert wird?

Beispiel: Bei möchte ich in <span>content</span>ändern , und dann ändert sich das Schließen automatisch in . Optimalerweise würde dies beim Zurückkehren vom Einfügemodus in den Normalmodus passieren, es wäre aber auch OK, wenn ich hierfür eine spezielle Tastenkombination drücken müsste.<span><div></span></div>

Antwort1

Das ausgezeichneteumgeben.vimmacht dies ganz einfach: Setzen Sie den Cursor an eine beliebige Stelle innerhalb des Tags, das Sie ändern möchten, und geben Sie im Normalmodus cst<div>( change surrounding tag to <div>) ein. Der Tag-Name wird sowohl im öffnenden als auch im schließenden Tag in „div“ geändert, und Sie kehren in den Normalmodus zurück.

Antwort2

Hier sind einige Schritte:

  1. Platzieren Sie den Cursor auf dem ersten Tag.
  2. Wählen Sie den äußeren HTML-Code durch Drücken von: vat.
  3. Drücken Sie Esc, um den visuellen Modus zu verlassen, und geben Sie Folgendes ein:

    :'<,'<s/span/div/
    :'>,'>s/span/div/
    

    Beachten Sie, dass dies :'>,'>s/span/div/nicht korrekt funktioniert, wenn das gleiche schließende Tag zweimal in derselben Zeile vorkommt, da immer das erste geändert wird. Um dies zu beheben, verwenden Sie :'>,'>s/.*\zsspan/div/stattdessen:. Siehe:Wie ändere ich das letzte Vorkommen der Zeichenfolge in der Zeile?

Verwandt:

Antwort3

Der VimMitläuferDas Plugin kann Folgendes:

Vim-Tagalong

Antwort4

Mit demSwapIt - Erweiterbarer Keyword-Swapper<C-a>können Sie Tag-Gruppen definieren, die dann über / umgeschaltet werden können <C-x>. Zum Beispiel in ~/.vim/ftplugin/html_swapit.vim:

SwapList layout p div span

Wenn Sie sowohl Start- als auch End-Tag in derselben Zeile haben (und es gibt nur eines von diesem Typ), können Sie beide über meinenChangeGlobally-Plugin.


Es gibt auch mehrere „Multicursor“-Plugins, mit denen Sie bestimmte Wörter markieren und alle auf einmal bearbeiten können.

verwandte Informationen