Vim y el porta-papeles de x11

martes 08 febrero 2011 | In English

Podemos acceder al porta-papeles de x11 (el sistema gráfica sobre el que funcionan la mayoría de los entornos gráficos, como Gnome y KDE) para compartir texto entre Vim y otras aplicaciones gráficas.

x11 tiene dos diferentes áreas globales donde guarda el contenido a ser compartido entre aplicaciones, uno es conocido como "cut-buffer", este es el lugar donde el texto que copiamos o cortamos es almacenado. Y el oto es conocido como "selection", en x11, cuando seleccionamos algo con nuestro ratón, podemos pegar esta selección en el lugar de el cursor del ratón presionando el botón medio. Vim puede acceder al contenido de ambos almacenamientos, obtener el texto de estos almacenamientos, o poner texto en ellos.

Podemos acceder a "cut-buffer" en Vim utilizando el registro "+, por ejemplo:

  • “+y copiará la selección visual y la guardará en "cut-buffer".
  • “+p pegará tras el cursor el contenidos de "cut-buffer".
  • “+dd cortará la línea actual y la guardará en "cut-buffer".
  • “+yy copiará la línea actual y la guardará en "cut-buffer".

Podemos acceder a "selection" en Vim utilizando el registro "*, por ejemplo:

  • “*y copiará la selección visual y la guardará en "selection".
  • “*p pegará tras el cursor el contenido de "selection".
  • “*dd cortará la línea actual y la guardará en "selection".
  • “*yy copiará la línea actual y la guardará en "selection".

Notas

Si lanzamos Vim desde xterm, Vim debe haber sido compilado con soporte para el porta-papeles de xterm. Para revisar si el soporte para el porta-papeles de xterm está habilitado, usa el comando (si no es encontrado, no está soportado);

vim --version | grep "+xterm_clipboard"

xterm no usa "cut-buffer", por consiguiente cuando estés utilizando Vim en xterm siempre usa el registro "*, el registro "+ no funcionará.

Si guardamos información en estos dos registros especiales, y la pegamos en un buffer diferente de Vim, ya sea este una vista diferente, una pestaña diferente, o una ventana diferente, el tipo de la selección será preservado (letra, linea, bloque), pero si lo pegamos en un programa diferente, será tratado como tipo letra, es decir, la información de el tipo se pierde y solo se pega texto plano.

Categorías: FOSS, Vim