# \[VIM\] Coller un texte copié depuis l'extérieur

**URL:** <https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360 "2016-02-21T13:36:07Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![SmallFitz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@SmallFitz](https://www.debian-fr.org/u/SmallFitz)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/1 "2016-02-21T13:36:07Z")

</div>

Bonjour,

J’aimerais copier un texte dans Firefox puis le coller dans VIM.

J’ai utilisé, en mode commande (ESC), la commande suivante :

```nohighlight
"+p

```

Mais ce n’est pas le bon buffer, ça me colle le buffer par défaut de VIM.

Avez vous une idée ?

Merci d’avance.

* * *

**EDIT**

Solution :  
Sélectionner le texte à copier. Puis aller dans VIM et :

- Avec un clavier, se servir de la combinaison de touches MAJ + Inser pour coller
- Avec une souris, se servir du clic-bouton-du-milieu pour coller.

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/2 "2016-02-21T13:36:07Z")

</div>

Si tu parles de vim en mode terminal, je doute fort qu’il connaisse le presse-papiers X.

Le plus simple, si tu fais tourner vim dans un terminal X, c’est probablement d’utiliser la fonction copier/coller de ton terminal, ou bien le bon vieux sélectionner / clic milieu propre à X. Je me sers tout le temps de cette dernière méthode (sélection / clic milieu) pour faire des copier/coller entre des applis graphiques et des terminaux X.

---

<div class="post-metadata">

**Author:** ![SmallFitz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@SmallFitz](https://www.debian-fr.org/u/SmallFitz)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/3 "2016-02-21T13:36:08Z")

</div>

Effectivement je fais tourner vim dans un terminal X.

J’utilise XFCE4 comme gestionnaire de fenêtre et sa console X n’a pas l’air d’avoir d’option copier coller : je ne vois pas menu et il ne réagit pas au clic droit.

Oui je connais le clic du milieu, il est bien pratique… Quand on a une souris !  
Ajourd’hui je n’ai pas pris ma souris et n’ai à disposition que mon touchpad, qui n’a pas de bouton du milieu. 😕

Il doit y avoir un moyen de se débrouiller sans cette fichue souris…

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/4 "2016-02-21T13:36:08Z")

</div>

> [@SmallFitz](#):
>
> Oui je connais le clic du milieu, il est bien pratique… Quand on a une souris !  
> Ajourd’hui je n’ai pas pris ma souris et n’ai à disposition que mon touchpad, qui n’a pas de bouton du milieu. 😕
> 
> Il doit y avoir un moyen de se débrouiller sans cette fichue souris…

Emulate3Buttons dans le xorg.conf ou bien en passant par xinput =\> permet de simuler un clic milieu en appuyant simultanément sur les boutons gauche/droite.  
Pas ce qu’il y a de plus pratique au monde mais ça dépanne bien sur un touchpad, c’est ce que j’utilise sur mon netbook.

---

<div class="post-metadata">

**Author:** ![SmallFitz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@SmallFitz](https://www.debian-fr.org/u/SmallFitz)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/5 "2016-02-21T13:36:09Z")

</div>

EUREKA.

On peut simuler un clic du milieu par un maj + Inser  
Il faut bien sûr que le texte dans Firefox soit sélectionné.

Un grand merci à toi pour m’avoir dirigé sur cette voie, j’étais en train de chercher à manipuler les buffers de copier / coller en shell et je trouvais pas grand chose. 😛

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/6 "2016-02-21T13:36:09Z")

</div>

> [@SmallFitz](#):
>
> Un grand merci à vous deux

Nous me doutais bien que j’étions plusieurs dans ma tête, mais là c’est officiel. ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

Edit : bon t’as corrigé le temps que je poste. 😉

---

<div class="post-metadata">

**Author:** ![SmallFitz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@SmallFitz](https://www.debian-fr.org/u/SmallFitz)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/7 "2016-02-21T13:36:09Z")

</div>

Ahah énorme 😃

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/8 "2016-02-21T13:36:13Z")

</div>

@ Syam :  
bicéphale, va !

Plus sérieusement, Ctrl + V ne fonctionne pas sous Vim ? Je suis «&nbsp;Nano&nbsp;», moi.

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/9 "2016-02-21T13:36:14Z")

</div>

Perso j’utilise un raccourci pour ça :

```nohighlight
nmap <C-p> :call setreg("\"",system("sselp"))<CR>p

```

Il faut avoir `sselp`, qui est disponible avec `suckless-tools`. Lorsqu’on tape ctrl-p, ça colle la sélection actuelle.  
C’est aussi possible en remplaçant `sselp` par `xclip -o`

---

<div class="post-metadata">

**Author:** ![SmallFitz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@SmallFitz](https://www.debian-fr.org/u/SmallFitz)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/10 "2016-02-21T13:36:32Z")

</div>

J’ai beau adorer Vim et l’utiliser de plus en plus, j’avoue ne pas oser franchir la barrière du nmap.  
Flippante cette bestiole.

Je la note pour plus tard, ça me sera utile, merci.

---

<div class="post-metadata">

**Author:** ![yap22](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/9e8a1a/32.png) [@yap22](https://www.debian-fr.org/u/yap22)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/11 "2016-02-21T13:36:35Z")

</div>

bonsoir,

Dans une terminal, Shift + Ctrl + C pour copier et Shift + Ctrl + V pour coller.  
Ces raccourcis clavier marchent aussi pour Vim lancé dans un terminal.

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/12 "2016-02-21T13:36:37Z")

</div>

> [@ricardo](#):
>
> Plus sérieusement, Ctrl + V ne fonctionne pas sous Vim ? Je suis «&nbsp;Nano&nbsp;», moi.

Non on utilise C+V pour obtenir les touches («&nbsp;sous forme caractère&nbsp;»)  
par exemple C+V+tab et tu obtiens «&nbsp;le caractère&nbsp;» tabulation.

Par exemple pour une recherche /C+V+tab tu cherches la prochaine tabulation.  
Ou alors pour obtenir le caractère ascii 24 C+V+24

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 1:36 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/13 "2016-02-21T13:36:59Z")

</div>

> [@limax](#):
>
> > [@ricardo](#):
> >
> > Plus sérieusement, Ctrl + V ne fonctionne pas sous Vim ? Je suis «&nbsp;Nano&nbsp;», moi.
> 
> Non on utilise C+V pour obtenir les touches («&nbsp;sous forme caractère&nbsp;»)  
> par exemple C+V+tab et tu obtiens «&nbsp;le caractère&nbsp;» tabulation.
> 
> Par exemple pour une recherche /C+V+tab tu cherches la prochaine tabulation.  
> Ou alors pour obtenir le caractère ascii 24 C+V+24

C’est pour ça que les terminaux classiques ne sont pas forcéments adaptés à l’utilisation performante de vim.

---

<div class="post-metadata">

**Author:** ![kna](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kna/32/5623_2.png) [@kna](https://www.debian-fr.org/u/kna)\
**Post date:** [Février 21, 2016, 1:37 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/14 "2016-02-21T13:37:09Z")

</div>

Avant de coller un long test, pensez à lancer :

```auto
:set paste
```

pour éviter que l’indentation automatique et autres joyeusetés ne déforment le texte que vous copiez.

Pour coller avec la commande **p** , voyez :

```nohighlight
:registers

```

qui vous affichera le contenu de tous les buffers disponibles.

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Février 21, 2016, 1:37 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/15 "2016-02-21T13:37:12Z")

</div>

Merci pour toutes les astuces ![:041](https://www.debian-fr.org/uploads/default/original/1X/bfe857c9119752799c3eac55ca37a50312c51282.gif "applaudit")  
J’ai moi même un souci avec VIM mais c’est par l’intermédiaire de Byobu (sourcouche à screen) qui ne me permet plus de coller dans le terminal, alors qu’avec Nano oui 😕  
Mais bon j’ouvrirai un auter fil quand je m’attaquerai a ce problème 😃

---

<div class="post-metadata">

**Author:** ![Funkygoby](https://www.debian-fr.org/user_avatar/www.debian-fr.org/funkygoby/32/3984_2.png) [@Funkygoby](https://www.debian-fr.org/u/Funkygoby)\
**Post date:** [Février 21, 2016, 1:37 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/16 "2016-02-21T13:37:13Z")

</div>

Effectivement, c’est très utile.  
Je me souviens que je cherchais à copier du texte entre vim (que j’ai adopté depui peu) et w3m dans les tty. J’esseairai ces solutions.

---

<div class="post-metadata">

**Author:** ![Keldath](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/k/f17d59/32.png) [@Keldath](https://www.debian-fr.org/u/Keldath)\
**Post date:** [Février 21, 2016, 1:37 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/17 "2016-02-21T13:37:45Z")

</div>

Salut,

Paradoxalement, il faut installer vim-gtk ou bien vim-gnome (même si on n’utilise pas la version graphique de Vim par la suite) pour pouvoir copier/coller du texte entre Vim en terminal et X à l’aide des commandes "+p et "+y (et autres). Du coup un petit :

```nohighlight
# aptitude install vim-gtk

```

Règlera le problème.

---

<div class="post-metadata">

**Author:** ![jpp45](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jpp45/32/7665_2.png) [@jpp45](https://www.debian-fr.org/u/jpp45)\
**Post date:** [Septembre 17, 2020, 3:24 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/18 "2020-09-17T15:24:54Z")

</div>

J’utilise maintenant neovim 😉

---

<div class="post-metadata">

**Author:** ![tfc](https://www.debian-fr.org/user_avatar/www.debian-fr.org/tfc/32/6424_2.png) [@tfc](https://www.debian-fr.org/u/tfc)\
**Post date:** [Septembre 17, 2020, 5:07 UTC](https://www.debian-fr.org/t/vim-coller-un-texte-copie-depuis-lexterieur/55360/19 "2020-09-17T17:07:23Z")

</div>

Salut,  
et?

Rappel, pour copier/coller de Vim au système et du système à Vim, c’est dans l’éditeur, le buffer nommé «&nbsp;+&nbsp;» , donc en mode NORMAL:

copier (yank)

```
"+y

```

et coller (paste)

```
"+p
```
