71 votes

Comment plier / déplier les balises HTML avec Vim

Existe-t-il un plugin pour plier les balises HTML dans Vim?
Ou il existe un autre moyen de configurer un raccourci pour plier ou déplier les balises HTML?
Je voudrais plier / déplier les balises html comme je le fais avec le pliage par indentation.

97voto

James Lai Points 1094

J'ai trouvé que zfat (ou également zfit ) fonctionne bien pour le pliage avec des documents HTML. za va basculer (ouvrir ou fermer) un pli existant. zR ouvre tous les plis du document actuel, zM réactive de manière efficace tous les plis existants marqués dans le document.

Si vous utilisez fréquemment les plis, vous pouvez créer des combinaisons de touches pratiques dans votre .vimrc.

27voto

ihohbeto Points 61

Si vous indenter votre code HTML, ceci devrait fonctionner:

 set foldmethod=indent
 

Je trouve que le problème, c'est qu'il y a trop de plis. Pour contourner ce problème, j'utilise zO et zc pour ouvrir et fermer les plis imbriqués, respectivement.

Voir help fold-indent pour plus d'informations:

 The folds are automatically defined by the indent of the lines.

The foldlevel is computed from the indent of the line, divided by the
'shiftwidth' (rounded down).  A sequence of lines with the same or higher fold
level form a fold, with the lines with a higher level forming a nested fold.

The nesting of folds is limited with 'foldnestmax'.

Some lines are ignored and get the fold level of the line above or below it,
whichever is lower.  These are empty or white lines and lines starting
with a character in 'foldignore'.  White space is skipped before checking for
characters in 'foldignore'.  For C use "#" to ignore preprocessor lines.

When you want to ignore lines in another way, use the 'expr' method.  The
indent() function can be used in 'foldexpr' to get the indent of a line.
 

5voto

kainan Points 51

Installer la commande js-beautify (version JavaScript)

 npm -g install js-beautify  
wget --no-check-certificate https://www.google.com.hk/ -O google.index.html  
js-beautify -f google.index.html  -o google.index.bt.html  
 

http://www.google.com.hk orignal html:

http://www.google.com.hk orignal

js-beautify et vim fold:

js-beautify et vim fold

2voto

ken Points 489

Ajouter à la réponse de James Lai. Initialement, ma méthode foldmethod = afin que zfat ne fonctionne pas. La solution consiste à définir la méthode de pliage en manuel

 :setlocal foldmethod=manual
 

vérifier quelle méthode de pliage est utilisée,

 :setlocal foldmethod?
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X