10
votes

Copier et coller de la source externe

J'utilise Vim (en réalité GVIM sous Windows) comme mon principal éditeur de texte. Dans mon flux de travail, je dois copier des phrases à / à partir de diverses sources externes, donc j'utilise le presse-papier = Sans nom pour me sauver des coups de clé (P au lieu de "* P).
Je copie du texte d'une source extérieure et je veux la coller sur deux différents endroits de Vim. Je marque le premier (v) puis utilisez P pour coller dessus. Le problème est que, à ce stade, je perds le tampon d'origine et je ne peux pas la coller dans la deuxième place. Il n'existe pas dans le tampon non nomé, le * tampon * ou les tampons numérotés. Je suppose que le collage de la sélection est de mettre le texte "collé sur" dans le tampon sans nom.
Comment puis-je coller ma chaîne d'origine dans deux endroits? c'est-à-dire l'empêcher de se perdre dans les tampons.

merci.

vim

1 commentaires

Maj + insert (en mode insertion)


5 Réponses :


0
votes

Je ne sais pas comment faire cela sous Windows. Avec KDE, le Presse-papiers a une histoire que vous pouvez sélectionner, de sorte que vous puissiez faire la pâte, sélectionnez la sélection précédente dans le presse-papiers et coller dans le nouvel emplacement.

Cela dit, il semble que cela ait peut-être plus de sens que vous ne l'avez pas dans un seul endroit, puis écrivez un script pour prendre cette entrée et créer la sortie dont vous avez besoin. Pouvez-vous élaborer plus sur ce que vous essayez d'accomplir?


3 commentaires

J'essaie de copier une ligne d'une autre application et de la coller à deux endroits dans Vim. Aussi simple que possible.


C'est la mécanique de celui-ci, oui. Je demande si vous devriez prendre une décision et penser à la tâche que vous essayez de réaliser - y a-t-il une meilleure approche qui n'implique pas la répétitivité Cut-Paste?


Je suis perdu. Il y a un morceau de texte que j'ai besoin de coller dans deux endroits différents, des idées?



1
votes

Vous pouvez configurer un mappage pour soulager votre douleur:

:vmap <F5> "zxP


0 commentaires

0
votes

Vérifiez la valeur des options 'Guioptions'. Assurez-vous que le drapeau 'A' n'est pas défini. Vérifiez également que l'option «Presse-papiers» et vérifiez que ni les indicateurs «Sans nom» ou «AutoSelect» sont définis. xxx


2 commentaires

Merci de votre réponse, mais je n'arrive pas à la mettre en œuvre correctement. Encore une fois, ma séquence de travail est copie sur le programme externe, marquez le texte à remplacer sur la pâte de Vim. Marquez un autre peu de texte dans Vim et puis je ne suis pas en mesure de coller le texte copié. J'ai essayé de coller avec "+ p, mais j'ai eu les mêmes résultats. Ai-je eu votre réponse mal? (J'utilise le presse-papiers = Sans nom).


J'ai donc installé Vim sur mon ordinateur portable et j'ai vérifié ma première réponse, cela ne fonctionne pas. J'ai édité ma réponse avec une nouvelle suggestion. Je suppose que c'est la présence du drapeau «Sans nom» vous causant des problèmes.



1
votes

Je ne sais pas si je vous ai mal compris, mais j'ai essayé ce que vous faites et que je n'ai aucun problème à le faire avec le registre Drop.

mon flux de travail:

  1. Copiez une phrase dans une application externe (c.-à-d. Navigateur)
  2. Visual Sélectionnez une phrase dans Vim et remplacée par le remplacé par "+ p ou p (avec presse-papier = SET SPANDÉD)
  3. Sélectionnez visuellement une autre phrase et remplacez-la par "+ p

    Malheureusement, lorsque vous collez la deuxième fois que vous devez coller explicitement du tableau +. Par conséquent, je recommanderais un mappage pour p / p au lieu d'utiliser le presse-papiers = Sans nom xxx

    essayez d'utiliser xxx

    pour voir le contenu des différents registres.


1 commentaires

Merci pour votre réponse. Je travaille sur une machine Windows, alors quand je vérifie les: registres, je n'ai pas le tableau +. En outre, aucun registre ne contient le texte que j'ai copié de l'application externe (pas même le registre * qui est écrasé avec le texte que j'ai copié sur).



6
votes

Essayez ceci: xxx

  • vmap signifie faire un mappage qui ne s'applique que en mode visuel.
  • p est la clé pour créer la cartographie pour.
  • "_ est le registre de trou noir. Ceci est utilisé dans n'importe quelle situation où vous souhaitez supprimer du texte sans affecter les registres.
  • XP signifie supprimer le texte sélectionné, puis coller avant la position du curseur résultant.

0 commentaires