Comment diviser le texte en plusieurs lignes en fonction d'un motif en utilisant Vim?

Supposons que vous avez ce texte:

name1 = "John"; age1 = 41;
name2 = "Jane"; age2 = 32;
name3 = "Mike"; age3 = 36;
...

et vous souhaitez diviser chaque ligne en deux lignes pour donner un résultat comme ceci:

name1 = "John";
age1 = 41;
name2 = "Jane";
age2 = 32;
name3 = "Mike";
age3 = 36;
...

Comment feriez-vous pour automatiser cette opération?

Quelques remarques:

  1. J'ai déjà essayé la méthode suivante:
    (1) Sélectionnez le texte dans la quasi-vode,
    (2) Exécuter :'<,'>:norm ^3f r^M ***,
    mais il ne fonctionne pas correctement; il se divise seulement la moitié des lignes, parce que, après chaque ligne est cassée, la prochaine répétition de la commande s'applique pour le reste de la ligne brisée à la place sur la ligne suivante!
  2. Ceci peut être réalisé à l'aide d'une macro, mais je suis à la recherche de solution plus élégante.

*** explication de la séquence:

-norm pour exécuter les commandes suivantes en mode normal
-^ pour déplacer le curseur au début de la ligne
-3f<space> pour déplacer le curseur à la 3ème de l'espace dans la ligne
-r^M pour le remplacement de l'espace avec une nouvelle ligne de

source d'informationauteur Ori Popowski