web-dev-qa-db-fra.com

Comment copier de la position actuelle à la fin de la ligne dans vi

J'utilise gvim dans Windows. Comment copier du texte de la position actuelle à la fin de la ligne dans vi et le coller dans un autre fichier ouvert dans vi. Je l'ai googlé mais je ne peux trouver aucune solution pour cela. Appréciez toute aide à ce sujet. Merci.

86
javalearner

La commande en mode normal permettant de passer à la fin de la ligne est $.

Vous pouvez copier à la fin de la ligne avec y$ et coller avec p.

Pour copier/coller entre différentes instances, vous pouvez utiliser le presse-papiers du système en sélectionnant la commande * _ enregistre, les commandes deviennent "*y$ pour copier et "*p pour coller.

$ passage à la ligne

$

y$ yank-to-linebreak

y,$

"*y$ sélectionnez presse-papiers-enregistrer yank-to-linebreak

",*,y,$

"*p sélectionner le presse-papier-registre coller

",*,p

Vérifier :h registers pour plus d'informations.

128
Don Reba

Si vous ne voulez pas inclure le saut de ligne dans le virement, vous pouvez utiliser yg_. (Ou dans votre cas, "*yg_)

Fondamentalement, il suffit de reconnaître qu'il existe une différence entre $ et g_ mouvement-sage. Cela m'a aidé à de nombreuses occasions.

38
kenny

Ajouter cette ligne à votre .vimrc

" Make Y yank till end of line
nnoremap Y y$

Plus à mon vimrc .

7
Andy Ray

Une solution différente: Dp et collez-le avec p. En fait, cette première supprime jusqu'à la fin de la ligne et la recalcule au même endroit. Collez-le ailleurs avec p.

2
Daniel Porumbel