J'écris des listes HTML et je veux pouvoir coller automatiquement 10 éléments de liste où le texte de l'élément est la seule chose qui change.
Je pourrais accomplir cela en utilisant PHP et ensuite simplement copier le code HTML rendu, mais s'il y a un moyen de sauter cette étape et de le faire directement depuis Vim, cela me ferait gagner beaucoup de temps.
cut-copy-paste
replace
filetype-html
Azmodée
la source
la source
Réponses:
Pour ce que vous voulez faire, emmet-vim , comme l'a suggéré nobe4, est votre meilleur choix.
En mode insertion,
li{item $}*10<c-y>,
étendra 10<li>
s avecitem N
pré-rempli comme texte. Vous allez commencer à modifier le contenu du premier. En mode d'insertion, appuyez sur<c-y>n
pour passer à la prochaine balise à modifier.Si vos éléments de liste ne sont pas une séquence de texte répété, vous pouvez utiliser vim-surround pour vous aider.
Exemple de liste de texte devant être encapsulé:
Si vous commencez avec votre curseur quelque part dans le texte, appuyez sur
^vip$<c-v>Stli<cr>
pour envelopper chaque ligne avec<li></li>
.Cela peut être transformé en une carte clé facile à utiliser:
la source
.col$*5>.inner
Je le ferais probablement avec une cartographie:
Le plan consiste à insérer dans les balises, puis à placer l'insertion entre elles, afin que vous puissiez taper le texte, revenir en mode normal, puis refaire Ctrl-b. (PS, les ^ B et ^ [sont entrés en utilisant ctrl_V, mais vous le saviez probablement déjà.) Pour mettre dix lignes en une seule commande, vous pouvez utiliser
Je ne savais pas si vous aviez un moyen automatique de créer réellement le texte de l'article?
la source