Récemment, j'ai appris de Practical Vim un moyen de copier ou déplacer un bloc de lignes sans avoir à déplacer le curseur de la position actuelle. Cela se fait en mode ligne de commande. par exemple
:123,133m. # moves lines from 123 to 133 below the cursor position.
Bien que je l'aime, il est difficile de taper les numéros de longue ligne, surtout lorsque le fichier contient trop de lignes.
Parfois, les lignes à déplacer sont relativement proches du curseur (mais je ne veux pas déplacer mon curseur, tirer, revenir là où j'étais, coller!). Ce serait formidable si je pouvais utiliser des nombres relatifs, similaires à ce que nous faisons en mode normal. C'est comme dire
déplacer 5 lignes qui sont 10 lignes au-dessus de la ligne actuelle ici
En bref, comment utiliser les nombres relatifs en mode ligne de commande (similaire au mode normal)?
la source
15k d5j 10j P
.Vous pouvez utiliser des nombres durs dans votre plage:
Ou des nombres relatifs:
Ou marques manuelles:
Ou marques automatiques:
Ou recherche:
Ou des raccourcis de ligne:
Ou toute combinaison des astuces ci-dessus:
la source
Vous pouvez utiliser l'adressage relatif (par exemple
.-10,.+3
) avec n'importe quelle commande Ex, cp.:help :range
.Alternativement, jetez un œil à mon plugin LineJuggler ; il fournit plusieurs mappages courts pour déplacer des lignes ou les dupliquer, et tous ces mappages prennent un décalage de ligne relatif comme
[count]
.la source