J'ai la structure de classe CSS suivante
.mAIcon
.mAIcon-reject
.mAIcon-edit
.mAIcon-accept
.event
etc.
Dans mes fichiers HTML, je veux compléter automatiquement ces noms de classe.
Mais quand je tape
<span class="mAIcon mA|">
et je veux compléter automatiquement le reste, la seule chose que je reçois est
<span class="mAIcon mAIcon|">
Pour obtenir ce que je veux vraiment, je dois taper un extra -
et par exemple e
et utiliser à nouveau la saisie semi-automatique. Mais ensuite, je reçois tout ce qui commence par un e
, même la classe event
. C'est vraiment ennuyeux et rend l'auto-complétion plutôt inutile dans ce cas.
J'utilise le mot clé générique de Vim avec la i_CTRL-N
commande et je n'ai pas de plugins de complétion supplémentaires installés.
Est-il possible d'inclure la -
détection des noms de classe CSS pour l'auto-complétion?
autocompletion
Raphael Ahrens
la source
la source
<c-x><c-n>
, qui doit également être spécifiée dans votre question.'iskeyword'
, et même si les mots-clés sont également utilisés pour d'autres commandes (effets secondaires), c'est toujours la bonne façon de réaliser ce que vous voulez sans utiliser d'autres types de complétion (automatique).ctags
devrait être capable de générer des tags pour votre projet. Ensuite, vous pouvez compléter la balise aveci_CTRL-X_CTRL-]
. Cependant, je vois dans les documents que la complétion de balise utilise également l'iskeyword
option, donc je peux me tromper. Dans tous les cas, vous voudrez probablement lire:h ins-completion
.Réponses:
Oui, vous pouvez définir quels caractères sont considérés comme faisant partie des mots clés avec l'
'iskeyword'
option:Vous pouvez ajouter l'extrait suivant à votre
vimrc
pour limiter cette option aux fichiers CSS et HTML:la source
iskeyword
a beaucoup d'effets secondaires. Par exemple,dw
onsome-text
supprimera maintenantsome-text
, au lieu de seulementsome
. Pas nécessairement une mauvaise chose, mais quelque chose dont il faut être conscient.js
et lescoffee
fichiers aussi. Parce que je me retrouve à terminer des cours CSS souvent en Javascript, et j'ai rarement du code qui effectue une soustraction sans espace. Dans le code que je modifie,diff = foo - bar;
est plus courant quediff=foo-bar;
J'ai résolu le problème en écrivant un petit script python qui crée un fichier de balises. Le script recherche les classes CSS et imprime un slogan pour chaque classe.
En ce moment, je lance le script à la main avec
qui ajoute les fichiers au fichier de balises. Cela fonctionne car l'achèvement des balises n'est pas limité par le
iskeyword
paramètre.Voici le contenu du script qui est également disponible sur GitHub .
la source