2009-12-16 8 views
3

Lors de la modification d'un fichier html dans vim, l'indentation de css à l'intérieur des balises style est désordonnée.indentation css désordonnée dans vim

Par exemple, voici comment il indent exemple de code css sans aucune intervention manuelle pour fixer l'empreinte de ma part:

div.class 
{ 
color: white; 
     backgroung-color: black; 
} 

Pourquoi est-ce qui se passe? comment puis-je le réparer?

Répondre

0

Une explication peut être que vous avez un mélange de TAB et d'espaces dans le fichier.

(Bien que l'aspect de la question peut être plus en raison de Markdown que toute autre chose)

+0

Je n'ont pas de caractère TAB dur (et pourquoi serait-il provoquer indentation automatique désordre de toute façon?) – hasen

0

Essayez d'utiliser à la place this html script filetype indent. Il a amélioré le support des balises de style. La gestion des indentations Javascript et CSS dans les pages HTML est connue pour être problématique avec l'indentation html dans Vim. Je n'ai pas encore trouvé un script qui fasse tout parfaitement.

+0

La page dit sous bugs connus "parfois' cindent() 'pense qu'il est préférable d'utiliser zéro indent pour ce qui suit", ce qui est à peu près ce que mon problème est. – hasen

+0

Je pense que le problème est que tous ces fichiers indent reviennent à cindent. Ce serait bien si quelqu'un a tout écrit à partir de zéro. –

2

Je rencontre le même problème, ne peut pas vraiment aider mais j'ai tendance à faire est vi{ puis 9<< et enfin >>. J'ai essayé de trouver un bon retrait de css, mais aucun de ceux que j'ai essayés a semblé fonctionner correctement.

1

J'avais un problème similaire.

Ma solution a été de modifier (après la sauvegarde) le fichier global « vimrc » et décommenter les lignes suivantes, en supprimant les guillemets doubles au début de chaque ligne:

"if has("autocmd") 
" filetype plugin indent on 
"endif 

J'avais aussi « set cindent 'dans mon fichier' ~/.vimrc 'local, donc j'ai enlevé ça.

Semble fonctionner correctement.

2

Cette indent script semble bien fonctionner (mieux).

Téléchargez et le coller à ~/.vim/indent/css.vim

Vous aurez besoin de la ligne filetype plugin indent on dans votre fichier .vimrc, aussi, comme Kamaji suggère.

Maintenant, si je ne pouvais le faire fonctionner sur des fichiers .css.less ...

+0

Vous avez sauvé ma journée (ou plutôt ma nuit :)). Notez que je place le fichier que vous liez sous ~/.vim/index/css.vim au lieu de css.less et cela fonctionne bien (est-ce qu'il y a une raison de le nommer css.less alors que sur la page github du plugin ça s'appelle css.vim?). Merci quand même! – Jivan

+0

question corrigée. Avait "moins" sur le cerveau. Je n'en ai plus. J'ai SASS sur le cerveau à la place! – artfulrobot

+0

salut artful, pour moi, après avoir ajouté le fichier script donné dans le lien, la presse à onglets met huit espaces .. est-ce configurable à seulement deux espaces pour un niveau d'indentation ... –