Xclip - portapapeles en la terminal

Clipboard

Es a lo que te acostumbras con windows, copias con ctrl + c y pegas con ctrl v. El clipboard es una region en la memoria que copia el objeto o texto hasta que sea reemplazado por otro objeto.

Primary selection

Como dice su nombre se obtiene seleccionando texto, puedes pegar el contenido presionando la rueda del ratón o Shit + Ins Primary selection solo almacena texto, y su contenido no se almacena en memoria, por lo que al seleccionar otro texto reemplazará inmediatamente el anterior texto. Solo se lecciona el texto y se pega con la ruedita del mouse, no necesita alguna tecla? Asi es, por eso es el método más práctico para trabajar con la terminal

Xclip

Instalación

Por si no lo tienes instalado

1
$ sudo apt install xclip

Mostrar primary selection

1
$ xclip -o

Mostrar clipboard

1
$ xclip -o -sel c

Copiar a primary selection

1
$ date | xlcip 

Copiar al clipboard

1
$ date | xclip -sel c

Ejemplos

con un alias o mejor: un atajo de teclado estos comandos

Para tomar un screenshot de una porcion de tu pantalla y copiarlo al portapapeles (requiere maim)

1
$ maim -s | xclip -selection clipboard -t image/png

Descargar el audio de un video de youtube (requiere youtube-dl)

1
$ youtube-dl -x -f bestaudio/best $(xclip -o)

Reproducir el video de youtube con mpv (requiere mpv)

1
$ mpv $(xclip -o)

Copiar y Pegar en Vim

Dado la explicación de primary selection se y que vim sea un programa que corre sin necesidad de tener un ambiente gráfico se entienede por que vim no tenga la opcion de copiar y pegar del portapapeles, pero si aún asi quieres Ctr + C y Ctrl + V

debes de saber que con el comando :r ! puedes leer el output de cualquier comando, por lo tanto si escribes :r !xclip -o -sel c puedes copiar lo que hay en el portapapeles. por lo tanto con:

1
map <C-V> r !xclip -o -sel c

en tu vimrc, pues pegar -por ejemplo, un emoji a vim-

Lo siguiente que debes saber es que con el comando :w ! puedes enviar el contenido de lo seleccionado a la terminal.

Para copiar el contenido de lo que selecciones - en visual mode - con Ctrl + C debes agregar esto en tu vimrc:

1
vnoremap <C-c> w !xclip -sel c<Enter>
0%