Wie springe ich zwischen passenden HTML / XML-Tags?


44

Wie zwischen Matching - Tags (wie springen <div>, <span>usw.) , wenn die Bearbeitung von HTML / XHTML / XML - Dokumente in ähnlicher Weise wie %verwendet werden , zwischen Anpassungs Klammern zu springen?


6
möglich Duplikat in Sprachen ohne geschweiften Klammern% ... Diese Lösung funktioniert auch für HTML (nur geprüft, wenn Sie auf eine bist >wird es wie vor der Arbeit, wenn Sie auf das sind divwird es funktionieren , wie Sie wollen).
Martin Tournoij

@Carpetsmoker Wenn diese Frage von einer allgemeinen Antwort (unter Verwendung eines Plugins) dupliziert würde, würden keine Antworten zugelassen, die sich speziell mit HTML-Tags befassen.
Kenorb

Die andere Frage hat jedoch genau die gleiche Antwort, sodass es sich um ein Duplikat handelt.
Türknauf

Gepostete Beispielantwort, die nicht in eine andere Frage passt, also dann nicht doppelt.
Kenorb

1
@Doorknob Die Tatsache, dass zwei Fragen zufällig die gleiche Antwort haben, bedeutet nicht unbedingt, dass die Fragen Duplikate voneinander sind.
200_success

Antworten:


44

Vim wird mit einem Makro namens matchit ausgeliefert, das dies für Sie erledigt. Alles, was Sie tun müssen, ist es mit runtime macros/matchit.vimin Ihrem vimrc zu aktivieren . So können Sie zB von a <div>zu its springen </div>. Beachten Sie, dass sich der Cursor innerhalb der spitzen Klammern befinden muss. Wenn Sie sich in spitzen Klammern befinden, %springen Sie wie gewohnt von einer Klammer zur anderen.


22

Sie können mit visuellen Operatoren zwischen Tags wechseln. Beispiel:

  1. Platzieren Sie den Cursor auf dem Tag.
  2. Rufen Sie den visuellen Modus auf, indem Sie drücken v.
  3. Wählen Sie den äußeren Variablenblock aus, indem Sie a+ toder i+ tfür den inneren Variablenblock drücken .

Ihr Cursor sollte vorwärts zum passenden schließenden html / xml-Tag springen. Um vom schließenden Tag zurückzuspringen, drücken Sie ooder, Oum zum gegenüberliegenden Tag zu springen.

Jetzt können Sie entweder visuell beenden Esc, indem Sie drücken , ändern coder kopieren y.


Um diese Aktion in das Register aufzunehmen, drücken Sie qq, um die Aufnahme zu starten, führen Sie den Tag-Sprung wie oben beschrieben durch (einschließlich Esc) und drücken Sie q, um den Vorgang zu beenden. Drücken Sie dann, um jump aufzurufen @q.


Weitere Hilfe finden Sie unter :help visual-operatorsoder :help v_it:

at ein <tag> </tag>Block (mit Tags)

it innerer <tag> </tag>Block


Alternativ können Sie auch ein Plugin wie matchit.vim oder surround.vim verwenden .


Siehe auch:


3

Das Plugin xmledit( http://vimawesome.com/plugin/xmledit ) ermöglicht das Wechseln zwischen geöffneten und geschlossenen Tags mit

  • <Ortsvorsteher>%

Oft wird <localleader> sein \, also kannst du mit springen

  • \%

HINWEIS: Im Gegensatz dazu matchitmüssen Sie den Cursor nicht in das Tag setzen. Wenn Sie es direkt auf dem <oder platzieren, >ist das für das xmleditPlugin völlig in Ordnung . :)

HINWEIS 2: Ein Nachteil hierbei ist, dass Sie es nicht im visuellen Modus verwenden können. Dies ist jedoch keine große Sache, da Sie immer das gesamte Tag mit auswählen können at.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.