X11
Si usa X11 (la GUI más común en los sistemas tradicionales basados en Unix o Linux), para copiar el contenido de un archivo a la selección de X11 CLIPBOARD sin mostrarlo , puede usar la utilidad xclip
o xsel
.
xclip -sel c < file
O:
xsel -b < file
Para almacenar el contenido de file
como la selección CLIPBOARD X11.
Tenga en cuenta que debe almacenarse utilizando una codificación UTF-8 o, de lo contrario, pegar no funcionará correctamente. Si file
se codifica con otro juego de caracteres, primero debe convertir a UTF-8, como:
iconv -f latin1 -t utf8 | xclip -sel c
Para un archivo codificado en latin1 / iso8859-1 .
Para almacenarlo como un CUT_BUFFER (algunas aplicaciones todavía lo consultan, como xterm
cuando nada reclama las selecciones CLIPBOARD o PRIMARY X y no necesita tener un proceso en ejecución para servirlo para las selecciones), aunque probablemente no quiera o Necesito usar eso hoy en día:
xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"
(elimina los caracteres de nueva línea finales de file
).
Pantalla GNU
GNU screen
tiene el readbuf
comando de sorber el contenido de un archivo en su propio búfer de copiar y pegar (con el que pega ^A]
). Entonces:
screen -X readbuf file
Apple OS / X
Aunque Apple OS / X puede usar X11. No lo hace por defecto a menos que ejecute una aplicación X11. Podrías usar xclip
o xsel
allí, ya que OS / X debería sincronizar la selección del CLIPBOARD X11 con los búferes de cartón OS / X, pero sería un desperdicio iniciar el servidor X11 solo por eso.
En OS / X, puede usar el pbcopy
comando para almacenar contenido arbitrario en buffers de cartón :
pbcopy < file
(se espera que la codificación de caracteres del archivo sea la del entorno local).
Conchas
La mayoría de los depósitos tienen sus propios búferes de copiar y pegar. En el modo emacs, las operaciones de cortar y copiar almacenan el texto copiado / cortado en una pila con la que se tira / pega Ctrl-Y, y se desplaza conAlt+Y
zsh CUTBUFFER / killring
En zsh
, la pila se almacena en la $killring
matriz y la parte superior de la pila en la $CUTBUFFER
variable, aunque esas variables solo están disponibles en los widgets de Zsh Line Editor (zle) y algunos widgets especializados son la forma preferida de manipularlos.
Debido a que solo están disponibles a través de ZLE, hacerlo con comandos es un poco complicado:
zmodload zsh/mapfile
zle-line-init() {
if [ -n "$FILE_TO_COPY" ]; then
zle copy-region-as-kill $mapfile[$FILE_TO_COPY]
unset FILE_TO_COPY
fi
}
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A
El zle-line-init
widget especial se ejecuta una vez al comienzo de cada nuevo símbolo del sistema. Lo que eso significa es que el archivo solo se copiará en la próxima solicitud. Por ejemplo, si haces:
file-copy file; sleep 2
El archivo solo se copiará después de esos 2 segundos.