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.