Comment puis-je utiliser un numéro de ligne pour copier une ligne à l'endroit où se trouve mon curseur?


20

Souvent, je suis dans une situation similaire à celle-ci:

1. <Line 1>
2. <Line 2>
3. <Line 3>
4. <Cursor is here>
5. <I want to copy line 1 here>

Une solution simple est mm:1<CR>yy`mp- c'est-à-dire faire une marque à la ligne 4, aller à la ligne 1, la copier, revenir à la marque et coller.

Existe-t-il une solution plus courte / plus fluide à cela? Je le fais assez souvent pour être heureux de faire un mappage pour cela.

Réponses:


23

Ressemble à un cas pour l'ex copie ( :help :coou :help :t):

:1t4

ou, en utilisant la position de votre curseur:

:1t.

Cela ne copie pas la ligne dans le registre yank, ce qui peut ou non être ce que vous voulez.


Je n'utilise pas assez d'ex copie, bonne suggestion.
— jecxjo

10

Vous pouvez le raccourcir en n'utilisant pas de marques et tirer directement la ligne.

:1y<CR>p

La version de commande de yank prend {range}donc sélectionnez une ligne ou un groupe de lignes.

De plus, la valeur de la plage peut être absolue ou relative. Les lignes au-dessus du curseur sont une distance négative et en dessous sont positives. Donc, tirer deux lignes au-dessus est :-2yet tirer deux lignes ci-dessous est :+2y.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.