Dites que je suis sur la ligne 20 et que je voudrais retirer la ligne 4, comment puis-je faire cela?
Et de même, comment puis-je tirer une ligne par rapport à la position de mon curseur, disons la ligne 3?
Dites que je suis sur la ligne 20 et que je voudrais retirer la ligne 4, comment puis-je faire cela?
Et de même, comment puis-je tirer une ligne par rapport à la position de mon curseur, disons la ligne 3?
Réponses:
De :help :yank
:
:[range]y[ank] [x] Yank `[range]` lines [into register x].
Donc, pour tirer la ligne 4, on pourrait taper:
:4yank
Notez que vous pouvez facilement le faire depuis le mode insertion avec <C-o>
; Cela vous permet d'exécuter une commande, après quoi vous revenez au mode insertion. par exemple:
<C-o>:4yank
Vous pouvez, bien sûr, également utiliser d'autres gammes. Quelques exemples:
:1,3yank
:%yank
:.,$:yank
:.,+3yank
:-3,.yank
:-3yank
Les choses les plus utiles à retenir sur les gammes:
:line1,line2command
..
est la ligne en cours (vous pouvez en fait omettre le point dans la plupart des cas :.,+3yank
et :,+3yank
sont identiques)+n
et -n
.Voir :help [range]
pour plus d'informations.
:4yank
avec:4y
Outre les commandes en mode ex que vous avez, vous pouvez également le faire en mode commande, par exemple: 4GY''
- ce qui signifie: goto line 4 ( 4G
), yank line ( Y
) et revenir à la ligne précédente ( ''
).
Vous pouvez également utiliser des marques de saut; pour votre deuxième question, par exemple, par: mm3kY'm
- ce qui signifie: mettre la marque m ( mm
), aller de trois lignes vers le haut ( 3k
), yank la ligne ( Y
), retourner à la marque m ( 'm
).
Tapez simplement
:4y
tirer la ligne 4
il ira dans le registre sans nom. Ensuite, par exemple, vous pouvez utiliser p
pour le mettre ailleurs. Vous pouvez également utiliser [n]p
, par exemple, 10p pour le coller 10 fois.
Vous pouvez le mettre dans un registre nommé tel que "a" avec
:4y a
4G"ayy
.
Tu peux faire
:10y <Enter> (to copy the line 10)
p (paste line 10 where the cursor is)
La définition d'un nombre relatif facilite également le déplacement entre les lignes de code.
:set relativenumber
Vous pouvez maintenant copier la 5ème ligne au-dessus du curseur avec:
:-5y <Enter>
:p (to paste)