Как copy-paste работает с xterm?

Щелчок левой кнопкой мыши в xterms запускает выбор чего-либо для вставки копии.

Двойной щелчок левой кнопкой мыши выбирает слово.

Тройной левый щелчок выбирает линию.

Все это работает при единстве в 11.04. Однако нет способа скопировать и вставить этот выбор в другое место: контекстное меню показывает, что вставка отключена, а нажатие средней кнопки для копирования-вставки не работает.

Так, как я могу скопировать выбор из xterm в другое место? Я счастлив с любым методом, чтобы выполнить это.

(я пока что использую установку по умолчанию без специальной настройки)

Редактировать: та же проблема с xedit

59
задан 28 November 2013 в 23:39

13 ответов

Скопировать между xterm и другим programs/documents/...

Добавьте к файлу ~/.Xresources (или создайте):

XTerm*selectToClipboard: true

Затем выполните команду:

xrdb -merge ~/.Xresources

Перезапуск xterm.

10
ответ дан 28 November 2013 в 23:39

Подобный вопрос обсуждается в здесь . Как указали «строки»:

X имеет два буфера обмена, если вы выберете что-то в xterm, он перейдет в буферы обрезки, и в этом случае вы можете вставить с помощью среднего щелчка или Shift + Insert. это не то же самое, что копировать вставку.

Копирование / вставка в xterm работала для меня, но не для внешнего приложения, например, gedit. По ссылке выше, я установил parcellite, и это устранило проблему,

sudo apt-get install parcellite

Обновление: если «вставка» не работает с «shift-insert», то используйте среднюю кнопку мыши или, если вы делаете не вставляйте одним щелчком одновременно левую и правую кнопки для вставки.

0
ответ дан 28 November 2013 в 23:39

Xterm использует обрезанные буферы, а не стандартный выбор буфера обмена X11, используемый для стандартной операции копирования-вставки, которую сейчас использует gnome-терминал и большинство других программ Linux.

Но если вы запустите xterm следующим образом:

xterm -ls -xrm 'XTerm*selectToClipboard: true'&

, то выбор будет доступен через стандартный буфер обмена.

Подробнее на Копирование и вставка в Xterm | База знаний StarNet - ПК X, X Windows, X 11 & amp; Подробнее - StarNet

Программа xcb также обеспечивает доступ к буферам вырезания из командной строки.

например. в Trusty Tahr 12.04 с запущенным оконным менеджером lxde я могу трижды щелкнуть строку текста в xterm, которая выделяет ее и помещает в буфер вырезания 0. Затем я могу запустить xcb -p 0, который выводит строку на стандартный вывод. [ 118]

По какой-то причине у меня не получилось нажать обе кнопки (имитирующие средний щелчок) в xterm, но shift-insert работал в xterm.

0
ответ дан 28 November 2013 в 23:39

Когда вы копируете из xterm, просто используйте

shift + middle click

, чтобы вставить что-то в gedit или какой-нибудь редактор в xterm, например mcedit

0
ответ дан 28 November 2013 в 23:39

Это не совсем отвечает на ваш вопрос, но оно помогло мне, поэтому я привожу его сюда, поскольку это может помочь кому-то еще:

  1. Скопируйте то, что вы хотите из xterm, выбрав свой текст
  2. Откройте вторую копию xterm и ваш любимый текстовый редактор (я использую vim)
  3. Используйте Shift + Insert (или средний щелчок), чтобы вставить в ваш текстовый редактор
  4. Сохраните файл .
  5. При необходимости откройте файл с помощью графического текстового редактора (например, gedit).
  6. Скопируйте текст и вставьте его в нужное приложение.
0
ответ дан 28 November 2013 в 23:39

Используйте средний щелчок или Shift + Insert

, см. X Выбор окна

.
0
ответ дан 28 November 2013 в 23:39

Чтобы скопировать текст в Xterm, сначала выделите текст, а затем нажмите shift + PrtScr . Чтобы вставить текст в Xterm, используйте shift + Insert .

0
ответ дан 28 November 2013 в 23:39

Смотрите здесь для объяснения проблем вставки с xterms и современными приложениями / оконными менеджерами: http://www.davidsimmons.com/soft/xtermhacks/#copynpaste

0
ответ дан 28 November 2013 в 23:39

При выделении текста он автоматически помещается в буфер обрезки (например, в буфер обмена). Когда вы используете «Копировать» из меню или с помощью сочетания клавиш, он попадает в основной буфер обмена.

Чтобы вставить вырезанный буфер в xterm, нажмите среднюю кнопку мыши. Чтобы вставить из буфера обмена в свой xterm, сдвиньте средний щелчок.

0
ответ дан 28 November 2013 в 23:39

Xterm использует основной выбор X11, который отличается от буфера обмена. Программа xsel может использоваться для копирования первичного выделения в буфер обмена:

xsel -op | xsel -ib

Для этого я определил Meta-c в Fluxbox для этого.

Mod4 c :Exec xsel -op | xsel -ib

Это удобно для программ Windows, которые поддерживают только один буфер обмена (например, VirtualBox).

0
ответ дан 28 November 2013 в 23:39

В остальном у меня есть полезный менеджер буфера обмена Glipper, работающий на 12.04.
Если я выберу xterm символы, они появятся в новой записи Glipper.
Если я выберу эту запись (кнопку) среди этой последовательности, из нее придет следующая вставка и вставит эти символы в любое приложение.

0
ответ дан 28 November 2013 в 23:39

Если вы хотите сохранить поддержку для ПЕРВИЧНЫЙ и по-прежнему иметь возможность использовать БУФЕР ОБМЕНА (это круто, поскольку в основном вы получаете два буфера обмена вместо одного), вы можете игнорировать selectToClipboard и установить переводы Вместо ресурса :

*VT100*translations:    #override \n\
    Ctrl <KeyPress> Insert: copy-selection(CLIPBOARD) \n\
    Shift <KeyPress> Insert: insert-selection(CLIPBOARD)

После этого, если вы выделите текст с помощью мыши, он будет скопирован в ПЕРВИЧНЫЙ , а щелчок средней кнопкой мыши вставит текст обратно из ПЕРВИЧНЫЙ , как и XTerm по умолчанию.

В то же время Ctrl + Insert скопирует текст в БУФЕР ОБМЕНА и Shift + Insert ] вставит его, как и в случае с современными приложениями с графическим интерфейсом.

При желании вы можете добавить больше привязок клавиш аналогичным образом, и вы также можете иметь более двух буферов обмена, используя X Cut Buffers (на них можно ссылаться как CUT_BUFFER0 ], CUT_BUFFER1 и т. Д.). Подробнее о X Cut Buffers здесь .

См. Также этот вопрос .

1
ответ дан 16 January 2020 в 16:40

То, что сработало для меня, было извлечено из https: //www.davidsimmons.com/soft/xtermhacks/#copynpastenopatch

Обзор: Добавьте в ~/.Xresources

XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)

и запустите xrdb -merge ~/.Xresources.

1
ответ дан 15 December 2020 в 12:47

Другие вопросы по тегам:

Похожие вопросы: