Comment puis-je tirer toutes les lignes correspondants dans un tampon?

Comment vous tirez-vous de toutes les lignes correspondants dans un tampon?

Donné un fichier comme:

match 1
skip
skip
match 2
match 3
skip

Je veux être capable d'une commande pour copier toutes les lignes qui correspondent à un modèle (/^/match pour cet exemple) en un seul tampon, de sorte que je puisse le mettre dans un autre doc, ou pour en faire un résumé ou quoi que ce soit.

La commande doit le vent jusqu'à présent dans une mémoire tampon:

match 1
match 2
match 3

Ma première pensée a été d'essayer:

:g/^match/y

Mais je viens d'obtenir le dernier match. Cela est logique, car l' :g commande est effectivement de répéter le y pour chaque correspondance ligne.

Peut-être il ya un moyen d'ajouter d'un coup sec de la mémoire tampon, plutôt que de l'écraser. Je ne pouvais pas le trouver.

  • J'ai été faire ce genre de chose tous les jours et de trouver la solution à moins que je le voudrais. Je ne qaq suivie par :g/pattern/normal "AY (n'a pas remarqué l' :yank commande avant), puis aller à mon tampon et le coller. N'est-il pas directement rediriger directement dans un tampon? (Auparavant, j'avais été faire :redir @a :g/pattern/ :redir END, donc c'est certainement un pas dans la bonne direction, mais je veux juste un. plus. étape...) 🙂 je suppose que je pourrais écrire une fonction assez facilement...
  • J'ai à la fois upvoted cette question parce qu'elle a été utile pour moi et a voté pour la fermer parce que c'est le seul moyen que je vois pour dire "ce doit être sur superuser.com". C'est une bonne question, mais je pense que c'est le bon endroit pour cela. Désolé qu'une "près" le vote est le seul moyen de voter pour se déplacer.
  • Je crois que cette question est antérieure de super-utilisateur. Devrait probablement être migré, cependant.
InformationsquelleAutor daotoad | 2009-09-25