2010-11-01 43 views
18

Je suis sûr que cela doit exister, mais si elle ne peut-être pas il y a une macro pour elle ...Comment coller avant le curseur après avoir sélectionné un bloc vertical?

L'une de mes caractéristiques les plus préférés de vim est l'insert avant en mode visuel (<C-v> , sélectionnez les lignes, <C-I>, tapez un peu, puis Esc).

Mon problème est que je veux coller le contenu du presse-papiers avant, pas 'insérer'. J'ai essayé <C-P> mais pas d'amour.

J'ai lu des feuilles de triche, cherché partout, regardé à travers les questions ici et je ne l'ai pas trouvé, mais je pourrais certainement chercher la mauvaise chose.

+0

En relation: [Comment coller une ligne dans un bloc de sélection vertical?] (Http://vi.stackexchange.com/q/4774/467) à Vim SE – kenorb

Répondre

10

Je suppose que vous voulez dire utiliser I en mode bloc visuel pour insérer le même texte sur plusieurs lignes, où frapper p colle simplement sur la ligne en cours plutôt que sur toutes les lignes sélectionnées.

En mode d'insertion, vous pouvez frapper C-r suivi d'un registre pour insérer le contenu de ce registre, donc si vous vouliez coller le tampon sans nom, vous souhaitez entrer

C-r" 

De même, pour coller le presse-papiers

C-r* 

en entrant insert comme vous le feriez normalement, puis en utilisant C-r, vous obtiendrez le texte sur l'ensemble des lignes sélectionnées. Regardez les codes :h registers pour voir quels registres sont à votre disposition.

+0

Parfait !! Merci!!! – Christian

114

En général, la commande P (majuscules, différente de p) colle le contenu du presse-papiers avant la position du curseur. Est-ce ce que vous cherchez? (Je ne suis pas sûr de ce que vous voulez dire quand vous dites que vous appuyez sur Commande + I, car mon clavier n'a pas de touche Commande.)

+0

ok, désolé, pour insérer avant. colle une seule fois. – Christian

+3

Eh bien, cette réponse n'est peut-être pas ce que le demandeur d'origine recherchait, mais elle semble être la solution pour tous les autres. – vastlysuperiorman

+1

c'est la bonne réponse, au moins pour mon cas d'utilisation: P – kroe