J'ai un fichier source HTML contenant une seule ligne comme ci-dessous: , et je veux le formater comme suit: p> , j'ai utilisé la commande: Edit-> Line-> Revent, mais cela ne fonctionne pas. p> p>
3 Réponses :
Si c'est pour quelque chose de simple, j'ai pu enregistrer une macro (outils -> record macro) enlever les balises, puis le sauvegarder et réutiliser cette macro. Pas sûr si cela aide tout cependant. p>
dans le texte sublime, essayez ceci: p>
> code>" li>
- Utilisez
Recherche code>> Ajoutez-addition suivant code> ( commande kbd> + d kbd> sur Mac ou ctrl KBD> + D KBD> sur PC) LI>
ol>
Vous aurez maintenant toutes les occurrences en surbrillance dans plusieurs sélections, déplacez le caret à la fin de la balise et appuyez sur Retour pour insérer toutes les nouvelles lignes dont vous avez besoin. P>
bonne chance p>
Je n'étais pas au courant de l'ajout de la commande code> suivante code> du tout. Bonne idée!
J'étais sous l'impression que sublime a également fourni cette capacité aussi. Quand j'ai découvert que ce n'était pas, j'ai eu l'idée d'utiliser des expressions régulières. Même si les regex sont généralement considérés comme inappropriés pour analyser XML / HTML, j'ai trouvé cette approche pour être acceptable dans ce cas. Le sublime est également considéré comme hautement personnalisable par des plugins, alors je pense que ce serait un moyen.
Pour être honnête, j'aurais pu penser à < Code> Tidy Code> ou au moins soupçonnez qu'il doit y avoir des plugins qui traitent avec votre problème. Au lieu de cela, j'ai fini par écrire mon premier plugin sublime. Je l'ai uniquement testé avec votre contribution et votre sortie attendue, qu'il satisfaise, mais il est certain que très loin de travailler de manière fiable. Cependant, je l'affiche ici pour partager ce que j'ai appris et c'est toujours une réponse au problème. P>
ouvrir un nouveau tampon ( Ctrl + N KBD>) et en choisissant le '< em> nouveau plugin ... em> 'entrée dans le menu' outils em> 'génère généreusement un peu' bonjour monde! ' Exemple de plug-in (sous forme de module Python), qui donne un bon modèle pour la mise en œuvre d'un Le référence officielle de l'API suggère d'apprendre en lisant les exemples de sources distribuées avec les constructions sublimes et située dans Pour obtenir une solution pour votre problème, nous avons principalement besoin d'un accès à un Pour résumer les opérations de chaîne: Il y a quatre expressions régulières, chacune correspond à l'une des classes d'éléments à l'aide du Adresse du groupe Caractéristiques de Python Regex, nous pouvons déterminer l'indentation de chaque ligne et aligner la suivante en conséquence. Ceci, sans autre ADO, il n'entraînera pas une balise en retrait cohérente en interne, mais sans tenir compte des lignes en dehors de la sélection. En étendant la sélection à un élément joint, ou au moins conforme aux niveaux d'indentation des lignes adjacentes, on pourrait facilement améliorer les résultats. Il est toujours possible d'utiliser le Commandes par défaut . P> Une autre chose à Prenez soin des clés de liaison à la commande du plug-in et à la contribution des entrées de menu. Il est probablement possible en quelque sorte et le menu sublime_plugin.textCommand code> sous-classe. Un TextCommand donne accès à un fichier tampon actif / actuellement ouvert. Comme ses proches
fenêtreCommand code> et
ApplicationCommand code>, il est nécessaire d'écraser une méthode d'exécution. P>
packages / par défaut code> par rapport au chemin de configuration sublime. Vous trouverez d'autres exemples sur le site web . Il y a plus sur Internet. P>
Traitement du texte sélectionné h3>
Voir code>
objet qui représente un tampon de texte actif. Heureusement, la sous-classe code> TextCommand Code> Nous sommes sur le point de mettre en œuvre l'en possèdent un, et nous pouvons le poser facilement pour les régions actuellement sélectionnées et leur contenu de sélection, traiter le texte sélectionné conformément à nos besoins et remplacer le texte sélectionné avec notre préférence. Ensuite. P>
close-tag> code> et
nœud texte code>. En supposant que tous nos textes de balisage soient couverts par ceux-ci, nous avons fait chaque ligne de sélection dans des sous-chaînes assorties. Celles-ci sont ensuite réalignées une-ligne. Ayant fait cela, nous appliquons une indentation simple en vous souvenant d'indenter chaque ligne dont le prédécesseur contient une étiquette de démarrage. Les lignes contenant des balises finales sont immédiatement entraînées. P>
par défaut code> et
.Sublime-commandes code> fichiers dans
paquets / défaut code> au moins donner une idée. Quoi qu'il en soit, voici quelques codes. Il doit être enregistré sous
packages / utilisateur / autre.py code> et peut être appelé à partir de la console sublime python ( ctrl +
` code> kbd>) comme ceci:
vue.run_command ('geavy_indentation') code>. p>
code h3>
C'est une solution appropriée. Malgré cela peut avoir l'air difficile de fonctionner - de manière acuellement peut être complétée en 1 min. Version courte d'une réponse (pour Mac OS): 1. Sélectionnez Outils-> Développeur-> Nouveau plugin 2. Copier et coller le code ci-dessus dans l'espace de travail apparu 3. Sélectionnez Fichier-> Enregistrer sous, Nom It Guess_indentation.py 4. Ouvrez un Onglet avec votre code HTML 5. Sélectionnez Affichage-> Console 6. Tapez la vue.Run_Command ('GUEST_IDEDENTATION') 7. Sélectionnez Edition-> Line-> Revot 8. Upvote ce type pour une solution aussi brillante
Vérifiez Stackoverflow.com/Questtions/13143850/...
Pour ST2, il existe plusieurs plug-ins, ce format Code HTML. Je suis à l'aide d'un plug-in appelé "tag": Github.com/sublimetext/tag