Dans l'éditeur vi, je dois copier un bloc. Il y a plusieurs moyens, mais un moyen est très rapide.
étiqueter la première ligne par un moyen quelconque,
puis étiqueter la ligne de fin d'une manière,
puis mettez une commande pour copier les lignes étiquetées.
puis copier, peut utiliser «p», mais pas sûr.
Quelqu'un connaît les commandes (pas yy ou 10yy)? Merci d'avance.
Une autre option, plus facile à retenir, serait de placer des marques sur les deux lignes avec ma et mb, puis exécutez :'a,'byank
.
Plusieurs façons d'accomplir cette tâche, en offrant simplement une autre.
просто используйтеVвыбрать строки илиvвыбрать символы илиCtrlvвыбрать блок.
Commutateur de pocheyи использоватьpвставить его куда угодно ...
Couper et coller:
Copier-coller s'effectue en suivant les mêmes étapes, à l'exception de l'étape 4, dans laquelle vous devez appuyer sur y au lieu de d:
d = delete
= cut
y = yank
= copy
On dirait que vous voulez placer des marques dans le fichier.
mx place une marque nommée x sous le curseur
y'x tout ce qui se situe entre la position actuelle du curseur et la ligne contenant marque x .
Vous pouvez utiliser 'x déplacer simplement le curseur sur la ligne avec votre marque.
Vous pouvez utiliser `x (coche arrière) pour aller à l'emplacement exact de la marque.
Une chose que je fais tout le temps est tout ce qui se trouve entre le curseur et le repère x dans le presse-papiers .
Vous pouvez faire ça comme ça:
"+y'x
REMARQUE: Dans certains environnements, la mémoire tampon du Presse-papiers est représentée par un *
au lieu d'un +
.
Des questions similaires avec quelques bonnes réponses:
Les raccourcis clavier pour cela sont:
Pour copier: placez le curseur sur le début du bloc et appuyez sur md puis allez à la fin du bloc et appuyez sur y'd . Cela sélectionnera le bloc pour le coller, appuyez sur p.
Pour couper: placez le curseur sur le début du bloc et appuyez sur ma , puis allez à la fin du bloc et appuyez sur à . Cela sélectionnera le bloc pour le coller, appuyez sur p.
J'ai trouvé la commande ci-dessous beaucoup plus pratique. Si vous souhaitez copier les lignes de 6 à 12 et les coller à partir de la position actuelle du curseur.
:6,12 co .
Si vous voulez copier les lignes de 6 à 12 et les coller à partir de la 100e ligne.
:6,12t100
Source: https://www.reddit.com/r/vim/comments/8i6vbd/efficient_ways_of_copying_few_lines/
Vous pouvez le faire comme dans vi, par exemple pour extraire les lignes de 3020 à la fin, exécutez cette commande (écrivez le bloc dans un fichier):
: 3020, $ w/tmp/yank
Et pour écrire ce bloc dans une autre ligne/fichier, allez à la position désirée et exécutez la commande suivante (insérez le fichier écrit auparavant):
: r/tmp/yank
(Rappel: n'oubliez pas de supprimer le fichier:/tmp/yank)