VIM springt von einem xml-Tag zum nächsten


18

Gibt es eine Abkürzung, von der aus man springen kann, zB <XX>zu </XX>?

Ich probiere es bereits mit '%' aus, aber in dieser Situation funktioniert es nicht.


2
Ich denke, Sie benötigen ein Plugin wie matchit , um XML-Tags zuordnen zu können. matchitselbst scheint mit den meisten vimDistributionen zu kommen , aber Sie müssen es immer noch selbst aktivieren. :help matchit-installfür mehr.
jw013

Antworten:


13
  • Installieren Sie das matchitPlugin (siehe :help matchit-installAnweisungen).
  • Stellen Sie sicher, dass die automatische Erkennung von Dateitypen und das Laden von Plugins aktiviert ist (:filetype plugin on ).

Wenn Sie eine Datei bearbeiten, die als xmloder in htmleiner anderen Tag-basierten Auszeichnungssprache erkannt wurde , ermöglicht die Kombination matchitder Plugin- und der Dateityp-Plugin-Dateien, dass die %Bewegung mit geöffneten und geschlossenen Tags übereinstimmt.


20

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 ein Plugin wie matchit.vim verwenden (siehe: % in Sprachen ohne geschweifte Klammern verwenden ).


Siehe auch:

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.