Question

J'utilise des plug-ins surround et répétition de Vim pour envelopper des lignes de texte avec des balises HTML.

Je vais utiliser "Ysé

" et "ys $

", ils fonctionnent parfaitement.

J'essaie de répéter la commande avec « », et il montre

dans le terminal, mais chaque fois que j'appuyez sur Entrée pour exécuter la commande, remplace ambiophoniques ce qui doit être

et

avec ^ M .

Mon apparence de ligne comme ^ Mtext ici ^ M

Je reconnais le caractère comme une ligne de fin, mais je ne comprends pas pourquoi surround pas envelopper ma ligne avec le code, il montre dans le terminal (ce qui est correct), mais à la place enveloppements ma ligne avec les fins de ligne DOS.

J'utilise gVim sur Windows XP, si cela fait une différence.

Était-ce utile?

La solution

Il est en fait parce que <p> est pas vraiment là quand vous répétez la commande avec .

Essayez ceci: Avant de répéter la commande avec . premier coup o pour vider la zone de ligne de commande de tout texte, puis appuyez sur .

Vous verrez qu'il est en fait vide, ce qui est la raison pour laquelle le curseur est sur le premier caractère.

Pour répéter l'emballage correctement, vous devez soit taper <p> chaque fois ou enregistrer une macro rapide.

Macro: ys$<p>

Coller que dans vim, sélectionnez-le et tapez "py

Maintenant, vous pouvez exécuter la macro avec @p

Autres conseils

La documentation surround.vim dit:

The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136. 

Donc, si vous utilisez yss il devrait fonctionner, mais apparemment d'autres versions de « ys » ne sont pas pris en charge. Les sons comme une bonne fonctionnalité ont besoin pour présenter au propriétaire de repeat.vim.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top