Come saltare tra i tag HTML / XML corrispondenti?


44

Come saltare tra i tag corrispondenti (come <div>, <span>ecc.) Quando si modificano i documenti HTML / XHTML / XML in modo simile come %si usa per saltare tra parentesi corrispondenti?


6
possibile duplicato dell'utilizzo di % in lingue senza parentesi graffe ... Questa soluzione funziona anche per HTML (appena testato, se sei su un >funzionerà come prima, se sei su divfunzionerà come vuoi).
Martin Tournoij,

@Carpetsmoker Se questa domanda fosse duplicata in una risposta di tipo generale (usando un plugin), allora non consentirebbe alcuna risposta che tratti specificamente di tag html.
Kenorb,

Tuttavia, l'altra domanda ha esattamente la stessa risposta, quindi questo è un duplicato.
Doorknob,

Risposta di esempio pubblicata che non si adatta ad altre domande, quindi non è duplicata.
Kenorb,

1
@Doorknob Il fatto che due domande abbiano la stessa risposta non significa necessariamente che le domande siano duplicate l'una dall'altra.
200_successo

Risposte:


45

Vim viene spedito con una macro chiamata matchit che fa questo per te; tutto quello che devi fare è attivarlo con runtime macros/matchit.vimnel tuo vimrc. Ciò ti consentirà di saltare, ad esempio, da a <div>a suo </div>. Si noti che il cursore dovrà trovarsi tra parentesi angolari; se ti trovi sulle parentesi angolari, %salterà da una parentesi all'altra normalmente.


23

Puoi saltare tra i tag utilizzando gli operatori visivi, ad esempio:

  1. Posiziona il cursore sul tag.
  2. Accedere alla modalità visiva premendo v.
  3. Selezionare il blocco tag esterno premendo a+ to i+ tper il blocco tag interno.

Il cursore dovrebbe passare in avanti al tag html / xml di chiusura corrispondente. Per saltare indietro dal tag di chiusura, premere oo Oper saltare al tag opposto.

Ora puoi uscire da Visual premendo Esc, modificandolo co copiandolo y.


Per registrare quell'azione nel registro, premere qqper avviare la registrazione, eseguire il salto tag come sopra (incluso Esc), premere qper terminare. Quindi per invocare il salto, premere @q.


Ulteriori informazioni su :help visual-operatorso :help v_it:

at un <tag> </tag>blocco (con tag)

it<tag> </tag>blocco interno


In alternativa, utilizza plugin come matchit.vim o surround.vim .


Guarda anche:


3

Il plugin xmledit( http://vimawesome.com/plugin/xmledit ) consente di saltare tra i tag di apertura e chiusura utilizzando

  • <LocalLeader>%

Spesso <localleader> lo sarà \, quindi puoi saltare con

  • \%

NOTA: Diversamente matchit, non è necessario posizionare il cursore all'interno del tag. Posizionandolo direttamente sul <o >va benissimo per il xmleditplugin. :)

NOTA 2: uno svantaggio è che non è possibile utilizzarlo in modalità visiva. Ma questo non è un grosso problema, poiché puoi sempre selezionare l'intero tag con at.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.