Утилита копирования и вставки из буфера обмена командной строки?

В Windows я использовал утилиты копирования и вставки из буфера обмена командной строки...

  • pclip.exe и gclip.exe

Это были порты UnixUtils для Windows (но они обрабатывали только обычный текст). Было еще несколько других родной Утилиты Windows, которые могли бы записывать / извлекать любой формат.

Я искал что-то подобное в Synaptic Package Manager, но ничего не могу найти.

Есть ли там что-то, что я пропустил? ... или, может быть, это доступно в сценариях Bash?

Утилита, которую я хотел бы использовать, сможет читать / записывать через std-in / std-out или file-in / file-out, а также обрабатывать форматы буфера обмена Unicode, Rich Text Format, picture и т.д...

Примечание: Мне не нужен менеджер буфера обмена.

xsel

Я использую xsel Установить xsel, но я использую его только с обычным текстом и текстом в юникоде.

xsel можно копировать и вставлять в три разных "клипборды".

По умолчанию он использует Основной выбор системы X Window, который в основном представляет собой то, что в данный момент находится в отборе. Система X Window также имеет вторичный отбор (который используется нечасто), и выбор буфера обмена. Вы, вероятно, ищете выбор буфера обмена, поскольку это то, что среда рабочего стола (например, Gnome, KDE, XFCE) использует для своего буфера обмена. Чтобы использовать это с помощью xsel:

xsel --clipboard < new-clipboard-contents.txtxsel --clipboard > current-clipboard-contents.txt

xclip

Установить xclip может быть, это один из ваших вариантов.

cat samples.sh | xclip -sel clip

вы также можете установить его в файле .bashrc, используя псевдоним.

alias clipboard='xclip -sel clip'

Ключ для вставки двоичных данных в файл с xclip состоит в том, чтобы рассказать, что Типы носителей у вас есть в буфере обмена. Для PNG вы можете:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

Так что теперь по ~/Dropbox/.mybashrc ;) вы можете добавить псевдоним (clipboard2photo), чтобы легко вставить в файл изображения (возможно, когда-нибудь у нас будет это на Наутилусе).

Парцеллит

Я уже много лет использую parcellite в качестве менеджера буфера обмена. Он запускается в области уведомлений и предлагает множество опций для управления как основным выбором, так и стандартным freedesktop.org Буфер обмена.

Tray Icon

Это был мой ответ на управление элементами буфера обмена.

Preferences

Недавно я наткнулся на инструменты xclip-copyfile, xclip-cutfile, и xclip-pastefile (пакет xclip). Эти инструменты позволяют копировать / вырезать / вставлять целые файлы через командную строку.

Вы можете видеть их справочная страница здесь.

клипит

clipit - это менеджер буфера обмена для GTK +, который позволяет передавать текст из командной строки:

ls | clipit

Вы можете использовать CopyQ за это. С веб-сайта:

Менеджер буфера обмена с расширенными функциями

  • CopyQ - это менеджер буфера обмена с возможностью поиска и редактирования истории.
  • Поддерживает Linux и Windows.
  • Экспериментальная поддержка OS X 10.9+.
  • Храните текст, HTML, изображения и любой другой пользовательский формат.
  • Расширенный интерфейс командной строки и сценарии.

Чтобы скопировать текстовый файл:

copyq action "cat /tmp/file.txt" "" && copyq select 0

Чтобы скопировать изображение (вам необходимо указать тип MIME):

copyq write image/png - < file.png && copyq select 0

Для копирования файла данных (необходимо указать MIME-тип):

copyq write application/pdf - < file.pdf && copyq select 0

Проверьте их вики для получения дополнительной информации документация и примеры использования.

Вы можете установить его либо через ppa:noobslab/индикаторы PPA или путем ручной загрузки предварительно упакованных .deb файлы последней стабильной версии из каталога проекта Раздел загрузки.

Если вы просто хотите скопировать какой-то текст в буфер обмена:

echo -n "some-text" | xclip -selection clipboard

Пирожок

Недавно был выпущен новый менеджер буфера обмена с поддержкой апплета индикатора (хотя его еще нет в архиве). В дополнение к отслеживанию истории текстового буфера обмена он также будет захватывать и сохранять записи в буфере обмена данных (файлы, папки и т.д.), Что может быть полезно, если вы часто манипулируете файлами с помощью графического интерфейса / среды буфера обмена.

alt text

Вы можете добавить следующий PPA: ppa:hel-sheep/pastie

Как насчёт Настройки демона GPaste, апплет демона управления буфером обмена с интерфейсом DBus:

  • GPaste - это пакет управления буфером обмена для GNOME, написанный на Vala
  • Внешний вид настроек GPaste был обновлен, чтобы лучше соответствовать недавнему GNOME
  • Демон теперь полностью равноправен (больше нет опроса, меньше потребления энергии)
  • GPasteClipboard теперь имеет сигнал “смена владельца”, аналогичный сигналу GtkClipboard
  • Новая настройка для установки максимального объема памяти, используемого данными в истории
  • Режим FIFO был удален (отсутствует дизайн)
  • Очистка и модернизация кода
  • g_paste_history_add теперь передача завершена
  • g_paste_keybinder_add_keybinding теперь передача завершена

Установка:

Чтобы установить его в Ubuntu 13.10, 13.04, 12.10 или 12.04, используйте приведенные ниже команды:

sudo add-apt-repository ppa:webupd8team/gnome3sudo apt-get updatesudo apt-get install gnome-shell-extensions-gpaste

Или устанавливать gpaste через synaptic package manager (а также gnome-shell-extensions-gpaste если вы используете Gnome-Shell).

Другой вариантом является установка через software-center.

enter image description here

Я пытаюсь разработать лучшее решение, которое не является менеджером буфера обмена, найденным по адресу https://github.com/baitisj/copypasta . Он пока неправильно обрабатывает RTF и HTML, а большие изображения создают проблемы, но не стесняйтесь раскошеливаться и отправлять исправления.

Как насчет того, когда полная Ubuntu без графического интерфейса используется через ssh из приложения терминала macOS или аналога?

See related question from unix.SE: bash - Copy image from command-line to clipboard - Unix & Linux Stack Exchange

vim[enter]"+P :3 (run vim and then from " register - i.e. system clipboard - paste text). Then you have (one of) the best text editor(s) at your finger tips, so you can :w filename. Also, I always run vim in tmux which means that if I need to copy a little text over to the terminal, I just select (with v or V for line selection) and then "+y (which yanks or copies to clipboard), then I make a new tmux pane and can +>