Скопировать текущее приглашение терминала в буфер обмена

27

Есть ли способ скопировать написанное в настоящее время содержимое приглашения bash? Скажи, что я написал:

ping www.google.com

так что строки в терминале выглядят так:

petr@sova:~$ ping www.google.com

и еще не нажал "вернуться". Я хочу скопировать этот текст в буфер обмена. Это возможно?

Обычный вариант использования будет несколько раз включать и находить команду, которую я хочу скопировать.

MREQ
источник

Ответы:

37

Чтобы вырезать, нажмите ctrl+ u. Чтобы вставить, используйте ctrl+ y. Это копирует всю строку в буфер обмена Bash. Если вы используете X и терминал Ubuntu по умолчанию, вы можете использовать мышь, чтобы пометить содержимое, и нажать ctrl+ shift+, cчтобы скопировать, и ctrl+ shift+, vчтобы вставить.

Олли
источник
9
Я использую Xubuntu, и хотя ctrl + u и ctrl + y работают в терминале, мне нужно иметь возможность вырезать / копировать из терминала и вставлять в другое приложение, которое не работает. Возможно, Ctrl + U вырезает текст в собственный буфер обмена терминала, а не глобальный?
mreq
Вы должны использовать буфер обмена X. Попробуйте Ctrl + Shift + C и Ctrl + Shift + V. Если вы используете терминал (без графического интерфейса), вам не повезло. Если вы хотите добавить команды в файл сценария, вы можете использовать его echo ping www.google.com >> filename.txtдля обхода.
Олли
И подсказка: вы можете легко добавлять префиксы к командам, нажимая ctrl + u, записывая echo и затем нажимая ctrl + y, чтобы вставить исходную команду обратно.
Олли
@olli, проще было бы нажать ctrl + a, чтобы перейти к началу подсказки
ratskin
@ ratskin Я не знаю, какой терминал (эмулятор) вы используете, у меня это не работает.
Олли
4
  • Добавьте a #в начало команды (чтобы она стала комментарием)
  • Запустить его
  • Возьмите его из истории и направьте в утилиту буфера обмена, например, xclip: history | tail -n 1 | sed "s/[[:digit:]]* //" | sed "s/^#//" | xclip
Крис Стрычински
источник
1
Более простой альтернативой является добавление echo перед командой и pipe в xclip. $ echo <command> | xclip -selection clipboard
Самер
1

Если вы не возражаете против использования мыши, просто трижды щелкните строку, которую хотите скопировать, затем нажмите Ctrl+ Shift+ C. Затем вы можете вставить его с Ctrl+ V.

харакири
источник
2
должен быть Ctrl + Shift + C для копирования, не так ли?
Info5ek
0

В xfce4-terminal, вам нужно выделить с помощью мыши текст, который вы хотите скопировать, right-clickа затем выберите Copyпункт в контекстном меню.

Это работает?

landroni
источник