Je voulais dire copier et coller la ligne 4, la ligne 12.
Lazer
Édité. C'est ce que tu voulais?
Umang
2
D'autres ont déjà mentionné la méthode la plus directe pour ce faire, à savoir :4y, mais je voudrais ajouter deux notes à ce sujet qui pourraient être utiles:
Premièrement, si vous tapez, :help rangevous apprendrez tout sur l’utilisation des plages à appliquer aux commandes de style Ex. TRÈS utile dans de nombreux cas et beaucoup plus polyvalent que l’utilisation de numéros de ligne. Par exemple, si vous souhaitez supprimer la première ligne commençant par "yank" après le début du document (même si c'est sur la première ligne), utilisez :0/^yank/y. La partie la plus puissante des plages est la possibilité de les combiner, par exemple :./^Chapter/+50?Pete?d: "Recherchez la ligne suivante pour commencer avec le mot Chapitre (recherche en avant de la ligne actuelle), puis avancez de 50 lignes et recherchez en arrière le mot Pete, et supprimez la première ligne dans laquelle vous la trouvez. " Sauf que cela ne déplace pas réellement le curseur, il fait juste ce que vous lui dites.
(J'ai utilisé ce type de spécification de plage pour automatiser la création de documentation fastidieuse impliquant la recherche du nom de la fonction sous le curseur, puis la recherche en avant de la ligne suivante qui dit "Description" et la ramenant à un registre spécifique ... etc.).
L'autre astuce, c'est que vous devriez savoir sur le saut. Tapez :help jump-motionspour en apprendre plus à ce sujet, mais la façon dont cela se rapporte ici est que vous pouvez sauter à la ligne 4, la tirer et ensuite la retourner avec 4Gyy''(ou utiliser des points de contrôle au lieu d'apostrophes pour revenir à votre position de départ exacte, plutôt que la même ligne vous avez commencé à.)
Réponses:
Si le curseur est déjà sur la ligne 12, alors un simple
le fait pour moi.
la source
x
? Quand j'essaye:4x
je reçoisE140: Use ! to write partial buffer
. Merci!:4d
Que diriez-vous de ceci: le curseur est sur la ligne 11, vous êtes en mode "vi".
Vous pouvez apparemment aussi le faire avec un motif:
Vous pouvez utiliser "mo" (déplacer) au lieu de "co" (copier) pour déplacer simplement la ligne, au lieu de tirer et de mettre.
la source
:4t.
Essaye ça:
la source
Essayer:
Vous pouvez utiliser un argument de
0
pour coller à la ligne1
. Cela fonctionnera également avec les gammes:copiera lignes
m
parn
la lignek+1
. De plus, peu importe où vous vous trouvez dans la mémoire tampon. Lamove
commande,m
fonctionne de la même manière.la source
Cela devrait le faire:
la source
D'autres ont déjà mentionné la méthode la plus directe pour ce faire, à savoir
:4y
, mais je voudrais ajouter deux notes à ce sujet qui pourraient être utiles:Premièrement, si vous tapez,
:help range
vous apprendrez tout sur l’utilisation des plages à appliquer aux commandes de style Ex. TRÈS utile dans de nombreux cas et beaucoup plus polyvalent que l’utilisation de numéros de ligne. Par exemple, si vous souhaitez supprimer la première ligne commençant par "yank" après le début du document (même si c'est sur la première ligne), utilisez:0/^yank/y
. La partie la plus puissante des plages est la possibilité de les combiner, par exemple:./^Chapter/+50?Pete?d
: "Recherchez la ligne suivante pour commencer avec le mot Chapitre (recherche en avant de la ligne actuelle), puis avancez de 50 lignes et recherchez en arrière le mot Pete, et supprimez la première ligne dans laquelle vous la trouvez. " Sauf que cela ne déplace pas réellement le curseur, il fait juste ce que vous lui dites.(J'ai utilisé ce type de spécification de plage pour automatiser la création de documentation fastidieuse impliquant la recherche du nom de la fonction sous le curseur, puis la recherche en avant de la ligne suivante qui dit "Description" et la ramenant à un registre spécifique ... etc.).
L'autre astuce, c'est que vous devriez savoir sur le saut. Tapez
:help jump-motions
pour en apprendre plus à ce sujet, mais la façon dont cela se rapporte ici est que vous pouvez sauter à la ligne 4, la tirer et ensuite la retourner avec4Gyy''
(ou utiliser des points de contrôle au lieu d'apostrophes pour revenir à votre position de départ exacte, plutôt que la même ligne vous avez commencé à.)la source
Le plus court:
:1t.
copie la première ligne en dessous du courant.Avec plages:
:1,4t.
copie les lignes 1 à 4 (incluses) en dessous du courant.Également possible avec des numéros de ligne relatifs:
:-1t.
copie la ligne précédente sous le courant.Dans votre exemple
:4t-1
, copiez la quatrième ligne en dessous de la ligne souhaitée.Remarque:
:t
est un synonyme de la:co[py]
commande.la source