Copiando y Pegando texto entre Vim y X Window

Saturday 9 de November de 2013, 8:11 am 3 Comments

Vim LogoUna de las cosas más frustrantes con las que me encontré hace mucho tiempo, al conocer Vim, es el dolor de cabeza que implicaba el copiar/cortar y pegar texto desde Vim a cualquier otra aplicación bajo X Window en Linux, y viceversa. Recuerdo haber instalado varios plugins, haber configurado de diversas maneras URxvt para lograr el objetivo, pero ninguna de estas “soluciones” me dejaba satisfecho.

Hace apenas pocas semanas, por fin me decidí a usar exclusivamente Vim para toda edición de texto (luego de varios intentos frustrados en el pasado), y todos los días Vim me sorprende con su poder, cada día descubro algo nuevo… pero había dejado pendiente el detalle arriba mencionado. Hoy por fin me puse a investigar más a fondo, y no paro de reirme de lo sencillo que es solucionar el bendito problema, ¡sin plugins ni trucos raros!

Primer problema: ¡Vim no tiene soporte para xterm_clipboard!

Dentro de Vim, ejecuta

:version

En la salida se muestran todas las opciones con las que Vim ha sido compilado, algunas precedidas con “+” (opción habilitada) y otras con “-” (opción no habilitada). La opción que nos interesa en este caso, es xterm_clipboard, ¿tienes “+” o “-” en ella? Si tienes “+”, ¡no tienes nada de qué preocuparte!. ¿Tienes “-”? Entonces lo lógico es que debes compilar Vim con dicha opción.

¿Odias compilar a mano? La mayoría lo hacemos, no te apures, ¿y entonces? ¡Hay una solución sencilla! En vez de tener instalado el paquete vim, ¡instala el paquete gvim! Con Gvim instalado, aún puedes ejecutar Vim en la terminal, ¡y ya incluye el soporte a xterm_clipboard!

Segundo problema: ¡Nunca recuerdo usar el registro +!

Vim usa registros para almacenar texto, y el registro + es el usado para compartir texto desde y para X Window (sea cual sea el entorno de escritorio que estés usando). O sea, para copiar texto deberíamos usar "+y y para pegar texto el respectivo "+p, ¡lo cual es muy común de olvidar!, ya que estamos muy acostumbrados a sólo usar y y p para ello.

¿La solución? Si usas una versión reciente de Vim (7.3.74 en adelante), ¡estás de suerte!, basta con agregar lo siguiente a tu ~/.vimrc para crear un alias entre ambos registros:

set clipboard=unnamedplus

¡Eso es todo! ¡No más dolores de cabeza al copiar, cortar y pegar texto entre Vim y las aplicaciones de tu entorno de escritorio favorito!

Share

Post tags