Copier et coller sur plusieurs files avec vim?

Vim semble agréable pour la plupart du time et surpasse les autres éditeurs dans certaines catégories. Mais qu'en est-il de copyr-coller? (Il me semble que même EDIT.COM de MS DOS semble surpasser vim dans cette catégorie.)

Scénario 1: J'ai un projet logiciel, beaucoup de directorys et je veux déplacer une fonction d'un file à l'autre. Quel est le moyen le plus efficace de le faire?

Scénario 2: j'active l'indentation. Il semble en conflit avec le copyr-coller multiligne. Je me souviens d'avoir vu sur internet des personnes suggérant de désactiver l'indentation pendant ce process. En même time, j'ai même vu des macros bizarres. Y a-t-il une solution efficace?

  1. si vous utilisez les NERDTree plugins NERDTree ne sont pas vos ennemis et sinon vous pouvez ouvrir plusieurs files dans des tabs ou split la window.

  2. le text copié peut être collé à partir du presse-papier par "+p et dans vim yankin (= copyr) et coller fonctionne sans faille – non seulement plusieurs lignes mais aussi en bloc – je ne sais pas si M $ DOS Edit peut le faire.


Je ne sais pas si un éditeur de text survit plus de 20 ans dans le désert s'il s'avère mauvais de copyr ou de déplacer du text entre les files.

:open le premier file, yank,: :open le second file, coller. Vous pouvez utiliser un plugin tel que NERDTree pour localiser le second file plus rapidement.

Pour copyr-coller entre deux instances différentes de Vim: yank dans le premier file, appelez :wv pour écrire le file viminfo ; dans l'autre file, appelez :rv pour lire le file viminfo puis le coller.

L'indendation n'a pas d'importance pour le copyr-coller de Vim. Cela n'a d'importance que lorsque vous collez des données à partir du presse-papiers X dans un terminal text, car Vim ne peut pas dire qu'il s'agit d'un text collé et non de quelque chose que vous avez tapé. En collant plusieurs lignes depuis le Presse-papiers X dans un terminal text, commencez par :set paste pour désactiver tout le traitement automatique du text (indentation, abréviations, emballage, …).

Si vous utilisez Vim sous X ou dans un terminal X et que votre Vim le prend en charge, vous pouvez copyr et coller des données dans le presse-papiers X. Yank et coller au registre * pour la sélection X11 et au registre + pour le presse-papiers X. Par exemple, "*42yy dans le premier file et "*p dans le deuxième file.