2010-03-04 4 views
19

comment puis-je coller quelque chose sur plusieurs lignes?Comment bloquer (colonne?) Coller dans vim

je suis en train de réaliser la même chose que: Dans un texte existant, je peux <Cv> jjjjj <SI> HelloWorld <CR> avoir HelloWorld inséré dans 5 rangées

mais au lieu de taper HelloWorld J'aimerais obtenir le texte d'un registre. Je veux d'abord claquer HelloWorld puis l'insérer dans 5 lignes.

+2

@sotto - StackOverflow est pour les questions de programmation. Votre question sera probablement se migré vers SuperUser.com qui est un meilleur forum pour les questions d'utilisation des ordinateurs en général. – Oded

+7

@Oded vim est un outil de programmation comme un VS. Comment peut-il être indépendant? –

Répondre

20

Lorsque vous êtes en mode d'insertion, vous pouvez appuyer sur Ctrl-R suivi de la lettre pour le tampon que vous souhaitez coller. Ensuite, appuyez simplement sur Escape comme d'habitude et il sera inséré comme d'habitude.

+2

Ainsi, selon la réponse de Doug ci-dessous, ce serait, après le texte que vous arrachant voulez remplir vers le bas, ' JJI " '(en supposant que vous faites un coup sec normale, sans spécifier un tampon). – naught101

3

Vous pouvez utiliser une macro pour ce faire, comme [email protected]

qq commence une macro avec le nom q

0 va au début de la ligne et P colle le contenu yanked avant le curseur

j descend d'une ligne et q se termine la macro

[email protected] répète les q macro 4 fois

5

Disons que vous avez les éléments suivants dans un tampon de vim:

1| Do the dishes 
2| Get milk 
3| Take out the trash 

et que vous souhaitez insérer [ ] au début de chaque ligne, de sorte qu'il devient:

1| [ ] Do the dishes 
2| [ ] Get milk 
3| [ ] Take out the trash 

  1. aller à la première colonne de la rangée une
  2. appuyez sur CTRL + V (sélectionnez le bloc)
  3. appuyez deux fois sur j (à la rangée trois). maintenant la première colonne de lignes un, deux et trois sont choisis
  4. presse I (shift + i - capitale "i") - ce qui est "le mode d'insertion de bloc"
  5. de type [ ]
  6. presse esc (échappement)
  7. texte
  8. sera inséré sur chaque ligne