Dans TextMate il y a cette option impressionnante pour "Formatage CSS" et "Formatage CSS compressé". Cette option ne semble pas exister dans vim. Peut-être que c'est dans un plugin dont je ne suis pas au courant? Ou peut-être que j'ai besoin d'intégrer CSS Tidy en quelque sorte?Formater CSS avec VIM comme dans Textmate
Répondre
Vous pouvez intégrer CSS Tidy assez facilement. Puisque vous venez de TextMate, je suppose que vous êtes sur un Mac. Si vous n'avez pas encore installé de tidy CSS, je vous recommande de l'installer via un gestionnaire de paquets, comme l'excellent Homebrew.
Une fois installé, vous pouvez permettre à Vim d'utiliser CSS bien rangé pour la commande =
, qui formate automatiquement le code, en ajoutant ce qui suit à votre ~/.vimrc
:
autocmd filetype css setlocal equalprg=csstidy\ -\ --silent=true
Maintenant, chaque fois que vous avez un fichier CSS ouvert, il consultera CSS Tidy pour le formater lorsque vous appellerez la commande =
. Essayez-le sur un fichier CSS ouvert avec gg=G
pour formater l'ensemble du document.
Consultez le CSS Tidy usage guide pour ajouter d'autres options que vous aimez, et n'oubliez pas d'échapper des espaces que vous ajoutez à la commande ~/.vimrc
ci-dessus avec \
.
- 1. Indentation gêner avec CSS dans Vim
- 2. Textmate 'Va au symbole' équivalent pour Vim
- 3. Comment formater mon formulaire avec CSS?
- 4. Powershell comme vim (vim): shell
- 5. indentation css désordonnée dans vim
- 6. Ctl-Del Comme dans vim
- 7. Personnalisé de pliage pour CSS dans Vim
- 8. Formatage de code Java dans Textmate
- 9. CSS - Formater des formulaires avec des étiquettes d'étiquettes
- 10. css: comment formater l'écran d'entrée de contact
- 11. Comment alphabétiser un fichier CSS dans vim
- 12. Commande Unix ou VIM pour formater le code PHP
- 13. Envelopper la sélection dans Open/Close Tag comme TextMate?
- 14. comme-vim emacs indentation rubis
- 15. Formater un nombre comme devise dans un JTable?
- 16. Formater une zone de texte comme "0.00"
- 17. Puis-je formater une chaîne comme un nombre dans .NET?
- 18. Comment faire pour émuler la fonction de commande de retour de TextMate dans Vim
- 19. (g) Vim avec le contrôle de version comme Eclipse
- 20. Auto-complétion automatique dans TextMate
- 21. Textmate newbie question: comment mettre en retrait CSS
- 22. modifier avec vim dans irb
- 23. Mise à jour du projet via TextMate (comme Espresso)
- 24. Formater une entrée avec Jquery?
- 25. CSS style table comme
- 26. vim mappage des touches normales comme shift
- 27. ZenCoding dans vim développe des propriétés css incorrectement
- 28. Comment puis-je formater le texte entré dans un champ de texte HTML comme monnaie?
- 29. Vaut-il mieux formater un site Web avec des tables HTML ou avec des conteneurs CSS?
- 30. Erreur avec DoMatchParen dans vim
Génial. J'ai remarqué que csstidy ne semble pas câliner l'accolade d'ouverture dans le modèle de haute lisibilité, mais il ne renferme pas de propriétés dans le modèle par défaut. J'ai donc corrigé un peu le modèle par défaut pour indenter les propriétés, disponibles sur https://gist.github.com/198ee62a82f74c5e6bf2 – lkraav
Notez également les retours à la ligne qui apparaissent à partir du filtrage à travers csstidy. Donc, mon autocmd est maintenant 'autocmd filetype css setlocal equalprg = csstidy \ - \ --silent = true \ --template = mydefault.tpl \ \ | \ dos2unix' – lkraav
Le problème avec' equalprg = csstidy' est qu'il renvoie un vide résultat, si vous l'appelez avec juste le contenu interne d'un sélecteur (puisqu'il n'est pas CSS valide par lui-même). Je voudrais avoir une fonction, qui appelle csstidy et retombe à l'indentation interne (equalprg =), si le résultat est vide. – blueyed