Пока мы используем буфер обмена графического рабочего окружения (DE), всё довольно понятно. У нас всюду есть этот буфер: ctrl + c / ctrl + v – на Linux / Windows и тд, cmd + c / cmd + v – на MacOS. Но даже там – средняя кнопка мышки – отдельный буфер, есть различные виджеты / приложения для дополнительных буферов.
Потом мы попадаем в терминал. И там у каждого приложения свои буферы, например, в том же Vim. Остаётся ещё неудобный вариант – выделить всё необходимое и воспользоваться средствами Desktop Environment. Но это не так уж удобно.
Скопировать / вставить в терминал MacOS
Для этих целей в MacOS есть 2 замечательные команды: pbcopy
и pbpaste
:
$ tail /var/log/system.log | pbcopy
– кладём последние 10 строк system.log в буфер обмена DE.
Аналогично – можно забрать из буфера обмена данные в терминал на стандартный поток вывода:
$ pbpaste > ~/Documents/somefile.txt
Скопировать / вставить в терминал Linux
Аналогично есть команды и в Linux для вставки / копирования из терминала:
pwd | xclip -selection clipboard xclip -selection clipboard -o | cat
Если вы привыкли к наименованию команд из MacOS, можно очевидным образом сделать алиасы:
alias pbcopy='xclip -selection clipboard' alias pbpaste='xclip -selection clipboard -o'