Copy/Paste entre diferentes terminales Vim: Usando el portapapeles del sistema

¿Alguna vez has intentado copiar contenido entre dos terminales de vim y no has sido capaz? Te explicamos como solucionarlo.

El problema es que vim utiliza un portapapeles propio, en lugar de utilizar el del sistema. Sin embargo, Vim permite comunicarse con el portapapeles del sistema mediante registros.

Registros “* y “+

Los registros “* y “+ son utilizados para el portapapeles del sistema (Más información utilizando el comando :help registers). Dependiendo de su sistema, pueden hacer cosas diferentes. Por ejemplo, en sistemas que no usan X11 como OSX o Windows, el registro “* se usa para leer y escribir en el portapapeles del sistema. En los sistemas X11 se pueden usar ambos registros. Básicamente el “* es análogo a la selección PRIMARIA de X11 (que generalmente copia las cosas que selecciona con el mouse y pega con el botón central del mouse) y “+ es análogo a la selección CLIPBOARD de X11 (que es el portapapeles propiamente dicho).

Si todo eso pasó por tu cabeza, intenta usar:

“+yy ó “*yy: Copiar una linea

“+pp ó “*pp: Pegar una linea

V o v: Seleccionar (V linea v cursor)

“+y ó “*y: Copiar selección

“+p ó “*p: Pegar selección

Suponiendo que tiene las opciones de compilación adecuadas, una u otra debería funcionar.

Posibles problemas

Hay que tener en cuenta que copiar / pegar desde el portapapeles del sistema no funcionará si el siguiente comando devuelve un 0:

:echo has(‘clipboard’)

En este caso, vim no ha sido compilado con la función de portapapeles y es necesario instalar una versión diferente. Algunas distribuciones de Linux como Debian, proporcionan una instalación mínima de vim de forma predeterminada, pero en general, la solución es instalar el paquete vim-gtk.

Asignar atajo de teclado

Por comodidad, es posible asignar este comando a algún atajo de teclado Por ejemplo, insertando en el fichero ~/.vimrc:

vnoremap <C-c> “*y

vnoremap <C-v> “*p

De esta manera se puede utilizar el atajo Ctrl+C para copiar,, y Ctrl+V para pegar en el portapapeles del sistema.

Usar el portapapeles por defecto

Existe la opción de utilizar el portapapeles por defecto, descrita usando el comando:

:help cb

En el nos indica que se puede configurar el portapapeles por defecto,  de manera que los contenidos se copien automáticamente en el portapapeles del sistema, usando uno de los siguientes comandos:

:set clipboard=unnamed

:set clipboard=unnamedplus

Conclusiones

Primero se comprueba que la opción de usar los registros esté disponible en Vim mediante el comando:

:echo has(‘clipboard’)

Si devuelve 0, es necesario instalar vim-gtk.

Tras esto se puede copiar y pegar contenido de la siguiente manera:

“+yy ó “*yy: Copiar una linea

“+pp ó “*pp: Pegar una linea

V o v: Seleccionar (V linea v cursor)

“+y ó “*y: Copiar selección

“+p ó “*p: Pegar selección

De esta manera nunca volverás a tener problemas utilizando copy/paste en Vim.

Saludos


Jose F Gómez

Jose F Gómez

Emprendedor, Ingeniero de Telecomunicaciones, Arquitecto big data, administrador de redes y sistemas y programador. Apasionado por el mundo de las telecomunicaciones y la informática desde la infancia, siendo mi mayor interés las redes y la seguridad, el tratado y análisis de datos y el conocimiento por placer.

12 Comments

John · October 27, 2018 at 12:41 am

Having read this I thought it was really informative.
I appreciate you finding the time and effort to put
this short article together. I once again find myself spending a lot of time both reading and leaving
comments. But so what, it was still worthwhile!

keonhacai · October 27, 2018 at 9:15 am

Hi, I do think this is a great site. I stumbledupon it 😉 I am going to return once again since i
have bookmarked it.

Sevenbites · January 14, 2019 at 6:13 pm

Hello there! This is my 1st comment here so I just wanted to give a quick shout out and tell you
I really enjoy reading through your articles. Can you suggest any other blogs/websites/forums
that cover the same topics? Many thanks!

vintage house restaurant · January 22, 2019 at 9:37 pm

Hello there, I discovered your web site by the use of Google
at the same time as searching for a comparable matter, you web site came up, it seems good.
I’ve bookmarked it in my google bookmarks.
Hello there, just changed into alert to yoyr blog through Google, and found
that it is truly informative. I’m gonna watch out for brussels.

I will be grateful in case you proceed this in future.

Lots of other people will likely be benefited out of your writing.
Cheers!

Business and leadership · February 13, 2019 at 3:46 am

Hey very nice blog!

Selling my annuity · February 13, 2019 at 10:48 pm

Thank you for any other informative web site. The place else may I get that type of info written in such an ideal means?
I have a challenge that I am simply now working on, and I’ve been at the look
out for such info.

molkaskita · February 16, 2019 at 11:34 am

one of our visitors a short while ago proposed the following website

hatch sandwich bar · March 31, 2019 at 2:05 am

I’m truly enjoying the design and layout of your website. It’s a very easy on the eyes which makes it much more enjoyable for me to come here and visit more often. Did
you hire out a designer to create your theme? Fantastic work!

hatch sandwich bar · March 31, 2019 at 2:06 am

I’m truly enjoying the design and layout of your website.
It’s a very easy on the eyes which makes it much more enjoyable for me to come here and visit more often. Did you hire out a designer to create your
theme? Fantastic work!

Backstreets of Hickory · April 6, 2019 at 3:31 am

Good info. Lucky me I found your blog by accident (stumbleupon).

I have book marked it for later!

Amy · April 9, 2019 at 12:01 pm

I will right away grab your rss feed as I can’t to find your email subscription hyperlink or newsletter service.

Do you have any? Please let me know in order that I may
subscribe. Thanks. I will immediately take hold of your rss as I
can’t find your e-mail subscription link or newsletter service.
Do you’ve any? Kindly allow me know so that I
may subscribe. Thanks. I have been surfing online more than 3 hours today, yet I by
no means discovered any fascinating article like yours.
It’s beautiful value sufficient for me. In my view, if all
webmasters and bloggers made just right content as you did, the internet might be a lot more useful than ever before.

Jim · April 11, 2019 at 11:03 pm

Hello! Someone in my Facebook group shared this website with us
so I came to look it over. I’m definitely loving the information.
I’m book-marking and will be tweeting this to my followers!
Fantastic blog and terrific design.
You have touched some nice points here. Any way keep up wrinting.

Leave a Reply

Your email address will not be published. Required fields are marked *