Saut VIM d'une balise xml à la balise de fermeture


19

Existe-t-il un raccourci pour sauter, par exemple <XX>vers </XX>?

Je l'ai déjà essayé avec '%', mais cela ne fonctionne pas pour cette situation.


2
Je pense que vous aurez besoin d'un plugin comme matchit pour pouvoir faire correspondre les balises XML. matchitlui-même semble venir avec la plupart des vimdistributions, mais vous devrez toujours l'activer vous-même. :help matchit-installpour plus.
jw013

Réponses:


13
  • Installez le matchitplugin (voir :help matchit-installpour les instructions).
  • Assurez-vous que la détection automatique du type de fichier et le chargement du plugin sont activés ( :filetype plugin on).

Désormais, chaque fois que vous éditez un fichier détecté comme xmlou htmlou un autre langage de balisage basé sur des balises, la combinaison du matchitplugin et des fichiers de plugin de type de fichier permettra au %mouvement de correspondre aux balises d'ouverture et de fermeture.


20

Vous pouvez passer d'une balise à l'autre à l'aide d'opérateurs visuels, par exemple:

  1. Placez le curseur sur la balise.
  2. Entrez en mode visuel en appuyant sur v.
  3. Sélectionnez le bloc de balise externe en appuyant sur a+ tou i+ tpour le bloc de balise interne.

Votre curseur doit sauter vers la balise de fermeture html / xml correspondante. Pour revenir en arrière de la balise de fermeture, appuyez sur oou Opour passer à la balise opposée.

Vous pouvez maintenant quitter visual en appuyant sur Esc, le modifier par cou le copier par y.


Pour enregistrer cette action dans le registre, appuyez sur qqpour démarrer l'enregistrement, effectuez un saut d'étiquette comme ci-dessus (y compris Esc), appuyez sur qpour terminer. Ensuite, pour invoquer le saut, appuyez sur @q.


Voir plus d'aide sur :help visual-operatorsou :help v_it:

at un <tag> </tag>bloc (avec balises)

it<tag> </tag>bloc intérieur


Vous pouvez également utiliser un plugin tel que matchit.vim (voir: Utilisation de% dans les langues sans accolades ).


Voir également:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.