J'utilise Vim comme éditeur de texte et je modifie beaucoup de fichiers XML et WSDL.
Les fichiers WSDL ont une section XSD.
Y a-t-il un plugin VIM que je peux utiliser pour traverser les types XSD? C'est-à-dire que si j'ai la ligne suivante et que le caret est l'endroit où le '|' signe est: p> et j'appuyez sur CTRL + ALT + FOO (ou un autre combo magique), cela me permettra de me donner la définition de Magicfootype, c'est-à-dire: P> < PRE> XXX PRE> Je n'ai pas pu trouver comment utiliser CTAG pour cela et tous les autres plugins que je pouvais trouver sont destinés aux langues impératives (c.-à-d. Java). Y a-t-il un peu de plugin / script pour faire le travail? P> p>
3 Réponses :
GD ("Go to Déclaration") n'est pas au courant du format XML, mais peut faire le travail dans ce cas, en supposant que la section XSD est en haut de la WSDL. P>
Merci, un peu mieux que de rechercher manuellement le nom du type, mais comme vous l'avez dit, il n'est pas au courant de XML / XSD et gênant d'utiliser des fichiers volumineux.
J'ai regardé ce fil pendant un peu et je me demandais moi-même comme je suis un utilisateur VIM et travaillez avec beaucoup de très grands fichiers XML et associé aux fichiers XSD, XSLT et XQUERY, qui pourraient bénéficier de ce type de Thing, comme je suis sûr que vous pouvez imaginer.
Après quelques recherches, cela peut être fait avec CTAGS, mais il n'y a rien pour le moment qui créera le fichier CTAGS pour cela. Essentiellement, un CTAG ressemble à ceci: p> car la commande TagAddress est une commande EX Mode, il peut vous emmener n'importe où dans un fichier particulier à terres sur la définition. P> Fondamentalement, tout ce que nous aurions besoin de faire est de créer un script qui fonctionnerait via le WSDL (ou XSD, ou autre) et, en connaissant l'emplacement de la balise et du fichier, créez les lignes appropriées dans un fichier CTAGS pour mapper tous. les définitions. Cela ressemble à un petit projet amusant et utile. P> Désolé que ce n'est pas une réponse complète, mais il est possible de faire avec des CTAG et vous donnera la robustesse vous et la recherche de vous et de rechercher. P> p>
Malheureusement, il semble le moyen le plus pratique. Eh bien, qui sait, peut-être cet été entre deux autres projets :) Si je vais y assumer cela dans 1 mois, souhaitez-vous collaborer?
Je serais heureux de oui. En fait, j'en ai déjà discuté avec quelques-uns de mes collègues et nous pensons tous que ce serait une bonne idée. N'hésitez pas à me contacter hors ligne et nous pourrions peut-être discuter des idées de collaboration.
Je ne peux pas voir votre adresse e-mail et je ne trouve aucune autre méthode de communication personnelle sur donc, alors envoyez-moi un email à maayan@maayank.com (ou laissez-le ici, tout ce qui vous convient :)
Ceci est relativement facile à réaliser avec CTAGS. J'utilise Vim exclusivement pour l'édition XSD et en combinaison avec des CTAG Exuberant ( http://ctags.sourceforge.net/ ) Cela fonctionne très bien pour moi.
Parce que EXUBERANT CTAGS ne prend pas en charge XSD hors de la boîte, vous devez générer une définition de langue personnalisée. P>
J'utilise le fichier ci-dessous comme Pour obtenir Vim pour ramasser des fichiers de balises dans des répertoires parent, j'utilise l'extrait suivant dans mon mettre ceci Dans . code> dans mon projet XSD. Après avoir exécuté la commande CTAGS dans la racine du projet, je peux utiliser la navigation par balise VIM standard (
Ctrl - [ code> pour suivre et
Ctrl-o code> pour le dos) pour passer aux définitions. < / p>
.vimrc code> p>
.CTAGS code> dans la racine de votre projet. p>
Ne fermez pas comme les questions Vim / Emacs sont un matériau approprié pour SO - meta.stackexchange.com/questions/25925/vim-questions-so-s u . De plus, la réponse à cette question nécessitera des scripts VIM car il n'ya pas de moyen par défaut de faire ce que l'OP demande.