24

Можно ли скопировать вывод в буфер обмена, не используя мышь?

Например, я хотел бы сделать что-то вроде этого:

$ pwd >> буфер обмена

5 ответов5

22

Вы можете получить и использовать команды xclip и xsel . Инструкции по их получению и использованию здесь .

Без каких-либо аргументов xclip копирует в основной буфер обмена (щелчок средней кнопкой мыши) вместо буфера обмена контекстного меню Ctrl- C/Ctrl- V/правой кнопкой мыши.

Попробуйте echo foo | xclip -selection clipboard для копирования текста в последний.

Для вывода буфера обмена в стандартный вывод: xclip -selection clipboard -o

Эквивалентной утилитой для MacOS является pbcopypbpaste)

2

Боюсь, что в большинстве оболочек Linux нет такой вещи, как "буфер обмена", по крайней мере, я не знаю о ней. На X-сервере есть буфер обмена (если в вашей системе установлен X11, вы можете получить к нему доступ с помощью команды xclip ). Если вы подключаетесь к своей учетной записи оболочки с помощью некоторого программного обеспечения эмулятора ssh/ терминала, такого как PuTTy, вы можете использовать буфер обмена системы, которую вы используете, но это все равно будет внешний буфер обмена, и вы не сможете избежать использования мыши.

То, что я нашел, это маленький аккуратный скрипт bash, который можно найти по адресу http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/ . Он в основном создает временный файл, который служит буфером обмена - вы можете очистить, выполнить, записать и т.д. Ваши временные данные, используя набор команд, что фактически делает буфер обмена;)

1

Если вы используете MAC, вы можете использовать pbcopy следующим образом:

pbcopy < thing_to_write_to_clipboard
0

Я сделал небольшой инструмент, обеспечивающий аналогичную функциональность, без использования xclip или xsel. Std out копируется в буфер обмена и может быть снова вставлен в терминал, см .:

https://sourceforge.net/projects/commandlinecopypaste/

Обратите внимание, что этот инструмент не нуждается в x-сессии. Буфер обмена можно просто использовать в терминале и не вставлять с помощью Ctrl + V или щелчка средней кнопкой мыши в другие окна X-Windows.

0

И это ужасно, если вы хотите скопировать вывод терминала в буфер обмена, но у вас нет мыши, подключенной к вашему компьютеру, - с помощью функции "клавиш мыши" в X.

Нажмите Shift+NumLock, и ваши цифровые клавиши будут работать для управления движением курсора. Затем вы можете нажать Num 0, чтобы смоделировать нажатие и удерживание LMB, и переместить курсор, как вам нужно, затем нажать Num 5, чтобы смоделировать освобождение LMB. Теперь вы выбрали свой текст. Для имитации RMB вы нажимаете Num -, чтобы изменить активную кнопку мыши, затем Num 5, чтобы получить контекстное меню. Теперь вы хотите вернуться в режим LMB: нажмите Num /. Теперь вы можете переместить курсор в пункт меню "Копировать" и нажать Num 5. Это все. У вас есть текст в буфер обмена. Нажмите Shift+NumLock, чтобы вернуть вашу цифровую клавиатуру в исходное состояние.

PS: в некоторых дистрибутивах (например, Kubuntu) сочетание клавиш мыши по умолчанию отключено или как-то скрыто.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .