Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Vim] Copier des lignes d'un fichier à l'autre

Sujet résolu
15 octobre 2011 à 20:59:24

Bonjour,

J'ai suivi l'introduction à Vim, et je le trouve assez sympa comme éditeur de texte. Juste, comment faire pour copier des lignes de code d'un fichier à l'autre. Je m'explique, dans la console, j'ouvre plusieurs onglets avec Vim, et je veux copier les lignes d'un fichier dans un onglet vers un fichier d'un autre onglet.

Merci de vos réponses. :)

remontees

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
16 octobre 2011 à 14:30:49

Tu passe en mode visuel (touche "v"), tu sélectionnes le texte que tu veux copier avec les flèches du clavier.
Tu tape "y", ca va copier le texte.
Tu place le curseur où tu veux coller, et tu fais "p" pour coller le texte.

Ce genre de copier coller ne fonctionne pas pour les autres applications, tu ne peux pas copier du texte dans vim et le coller dans firefox, il faut utiliser un plugin pour faire ce genre de manipulations.
  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2011 à 14:39:31

Oui, mais j'ai essayé mais ça fonctionne pas d'un onglet de terminal à l'autre. Par contre, en écran splité par Vim, je crois que ça marche. ;)

PS : J'ai essayé, et ça fonctionne en split. Merci de vos pistes de réflexion. :)
  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2011 à 15:08:12

Salut, il y a une autre méthode.

Supposons que je travail avec vim sur un ordinateur distant et que je veux copier un bout de texte sur un fichier de mon ordinateur local.

Comment je fais, puisque je ne peux pas splitter l'écran vim mais suis obligé de passer par la méthode des onglet?

Simple. On peut copier, coller des choses dans un terminal avec les commandes [ctrl]+[maj]+c, [ctrl]+[maj]+v
Ainsi, je me place en mode insertion dans le fichier à copier.
Je sélectionne le texte à copier, puis je fais [ctrl]+[maj]+c.
Je vais à présent dans le fichier où il faut coller le texte. Je me place en mode insertion et je colle avec [ctrl]+[maj]+v

Voila
  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2011 à 15:12:44

Citation : ogr

Salut, il y a une autre méthode.

Supposons que je travail avec vim sur un ordinateur distant et que je veux copier un bout de texte sur un fichier de mon ordinateur local.

Comment je fais, puisque je ne peux pas splitter l'écran vim mais suis obligé de passer par la méthode des onglet?

Simple. On peut copier, coller des choses dans un terminal avec les commandes [ctrl]+[maj]+c, [ctrl]+[maj]+v
Ainsi, je me place en mode insertion dans le fichier à copier.
Je sélectionne le texte à copier, puis je fais [ctrl]+[maj]+c.
Je vais à présent dans le fichier où il faut coller le texte. Je me place en mode insertion et je colle avec [ctrl]+[maj]+v

Voila


Nonononon, j'ai essayé de faire touche droite copier, etc... ou par les menus où ce raccourci clavier est signalé mais il est désactivé dans Vim !!!
  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2011 à 15:20:12

Chez moi ça marche, par contre, il faut sélectionner le texte à la souris, et pas avec le mode visuel.
  • Partager sur Facebook
  • Partager sur Twitter
16 octobre 2011 à 15:21:57

Ok, toujours bon à savoir. :)
  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2011 à 2:23:04

Les divers terminaux vont généralement supporter le copier-coller via la souris (selection d'un côté (pas nécessairement avec la souris), et clic milieu pour coller).

Sinon, il existe plusieurs registres suivant le gestionnaire de bureau & cie. Et on peut donc coller dans + ou * avec "+yy, "*yiw, etc et coller dans d'autres applis (dont vim) avec les raccourcis à la windows, voire parfois le clic milieu.

PS: il y a beaucoup plus puissant que de passer en move visuel pour sélectionenr quoi copier sous vim. :h text-objects, voire :h motion tout court pour plus d'infos.
  • Partager sur Facebook
  • Partager sur Twitter
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
27 octobre 2014 à 15:02:14

Salut,

passer en mode visual sur le text à copier  [touche echap puis touche "v"]

descendre la molette [ça sélectionne automatiquement jusqu’où vous souhaitez ]

faire clic droit souris puis copier. [nota : bien sûr cela n'est valable que sous X serveur graphique ]

ouvrir son autre terminal avec vim ouvert

touche "i" [insertion] puis simplement cliquer sur le bouton  milieu souris.

Et voilà  ;)

  • Partager sur Facebook
  • Partager sur Twitter
28 octobre 2014 à 10:38:50

Je ferme la discussion à cause du déterrage.

  • Partager sur Facebook
  • Partager sur Twitter