X11
Jeśli używasz X11 (najczęściej używanego GUI w tradycyjnych systemach opartych na Unixie lub Linuksie), aby skopiować zawartość pliku do wyboru SCHOWKA X11 bez wyświetlania , możesz użyć narzędzia xclip
lub xsel
.
xclip -sel c < file
Lub:
xsel -b < file
Aby zapisać zawartość file
jako wybór SCHOWEK X11.
Pamiętaj, że należy go przechowywać przy użyciu kodowania UTF-8, w przeciwnym razie wklejanie nie będzie działać poprawnie. Jeśli file
kodowany jest przy użyciu innego zestawu znaków, należy najpierw przekonwertować na UTF-8, na przykład:
iconv -f latin1 -t utf8 | xclip -sel c
Dla pliku zakodowanego w latin1 / iso8859-1 .
Aby zapisać go jako CUT_BUFFER (są one nadal sprawdzane przez niektóre aplikacje, np. xterm
Gdy nic nie twierdzi, że CLIPBOARD lub PODSTAWOWE X wyborów i nie muszą mieć uruchomionego procesu, aby obsługiwać je jak dla wyborów), chociaż prawdopodobnie nie będziesz chciał lub muszę tego obecnie używać:
xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"
(usuwa końcowe znaki nowego wiersza file
).
Ekran GNU
GNU screen
ma readbuf
polecenie, aby zasłonić zawartość pliku do własnego bufora kopiuj-wklej (który wklejasz ^A]
). Więc:
screen -X readbuf file
Apple OS / X
Chociaż Apple OS / X może używać X11. Domyślnie nie działa, chyba że uruchomisz aplikację X11. Byłbyś w stanie użyć xclip
lub xsel
tam, ponieważ OS / X powinien zsynchronizować wybór SCHOWKA X11 z buforami pasteboard OS / X, ale byłoby to trochę marnotrawstwem, aby uruchomić serwer X11 właśnie do tego.
W systemie OS / X można użyć pbcopy
polecenia do przechowywania dowolnej zawartości w buforach stołu roboczego:
pbcopy < file
(kodowanie znaków w pliku powinno być kodowaniem regionalnym).
Muszle
Większość powłok ma własne bufory kopiuj-wklej. W trybie emacsa operacje wycinania i kopiowania przechowują skopiowany / wycięty tekst na stosie, którym szarpiesz / wklejasz Ctrl-Y, i przeglądasz za pomocąAlt+Y
zsh CUTBUFFER / killilling
W zsh
, stos jest przechowywana w $killring
tablicy i na górze stosu w $CUTBUFFER
zmiennej chociaż te zmienne są dostępne tylko z zsh Line Editor (Zle) widgetów i kilka wyspecjalizowanych widżety są preferowanym sposobem manipulowania tymi.
Ponieważ są one dostępne tylko za pośrednictwem ZLE, robienie tego za pomocą poleceń jest nieco skomplikowane:
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
zle-line-init
Specjalny widget jest wykonywana raz na początku każdego nowego wiersza poleceń. Oznacza to, że plik zostanie skopiowany tylko przy następnym znaku zachęty. Na przykład, jeśli wykonasz:
file-copy file; sleep 2
Plik zostanie skopiowany dopiero po tych 2 sekundach.