Я хотел бы иметь возможность вставить выделение X с помощью клавиатуры. В настоящее время я должен использовать среднюю кнопку мыши, чтобы сделать это.
Я понимаю, что подделать нажатие средней кнопки мыши довольно легко, но такое решение также потребовало бы перемещения указателя мыши в положение курсора текста.
Есть лучший способ сделать это?
xorg
keyboard-shortcuts
copy-paste
созерцаемое
источник
источник
Ответы:
В некоторых установках Linux по умолчанию Shift+ Insertбудет выполнять
X-selection-paste
. Как вы заметили, это заметно отличается отX-clipboard-paste
команды, привязка к которой часто зависит от приложения. Если это не сработает, вот пара других ключей:Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
Нет идти? Ваша среда рабочего стола или диспетчер окон, вероятно, не настроили их, и это сложно, потому что даже под знаменем одного DE или WM каждый инструментарий (например, GTK, Qt и т. Д.) Может иметь разные привязки по умолчанию. Некоторые программы (например
gvim
) даже имеют свои собственные внутренние регистры копирования, которые не обязательно синхронизируются с графической средой, в которой они работают. В довершение, даже когда программа действительно использует систему X-буфера обмена, у X есть несколько систем на выбор. Два самых основных - это буфер выбора, который всегда имеет то, что было выбрано последним (кроме, если нет), и буфер копирования, в который обычно нужно специально копировать вещи. Чтобы сделать явное копирование в последнюю систему, вы можете попробовать любой из них для размера:Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Если ничего из этого не работает для вас волшебным образом, вы можете пойти двумя путями.
Для этого есть приложение! ™ Используйте одну из различных программ менеджера буфера обмена, чтобы справиться с этим для вас. Наиболее популярными являются Parcellite и Glippy , но вы можете посмотреть другие варианты здесь . Смотрите также этот вопрос о продвинутых менеджерах буфера обмена
Взломай это сам.
Допустим, вы хотите взломать его.
Если не считать написания собственного кода и подключения к X api, хакерские инструменты для работы - это пара небольших утилит командной строки, которые дают вам окно в сознание X. Просто маленькое окно обращает на вас внимание, весь вид слишком пугающий ,
Первый инструмент
xsel
. Этот маленький работник будет выплевывать то, что находится в буфере выбора X в любой момент времени.Теперь вам нужно включить это в свою программу. Для этого есть два варианта. Один из
xdotool
них позволяет имитировать отправку событий в систему ввода Xorg. Вы можете использовать его метод типа, похожийxdotool type foo_bar
на имитацию ввода 'foo_bar' в курсоре. В сочетании вы получаете что-то вроде этого:Другой -
xvkbd
отправка событий клавиатуры из нижней подсистемы. Вы можете направить нажатия клавиш на STDIN. В сочетании сxsel
, вы получите что-то вроде этого:Отлично. Теперь для этого связывания клавиш для запуска этого материала. Если вы запускаете Gnome-2, вы можете добавить пользовательский ярлык в Система -> Настройки -> Сочетания клавиш . Если вы используете другой DE или WM, этот размер оставляется на усмотрение читателя.
Последнее замечание: при привязывании команд к сочетаниям клавиш часто необходимо иметь только одну команду, а не две команды, связанные с конвейером, как мы использовали выше. Это можно сделать, вызвав команду piped в виде командной строки argumetn для новой оболочки, например:
источник
Shift-Insert
бы иметь какое-либо практическое применение, но это просто не (в Ubuntu) .. Единственное "постоянство (+/-)", которое я обнаружил, состоит в том, что X- выделение в приложениях GTK может быть вставлено в Shiftgnome-terminal
, но это совершенно непросто для любой другой комбинации этих самых приложений с перекрестным вставлением ... Несколько приложений KDE, которые я использую (включая Konsole), просто не перекрестная вставка вообще .... и даже в приложениях GTK щелчок по центру может работать, но Shift + Insert может не работать (для того же приложения) ... Поэтому я использую мышь :(xdotool click 2
.Очевидно, что Shift+ Insertможет не работать должным образом на некоторых установках GTK 3, по крайней мере на FreeBSD. Проблема описывается как:
Недавний (на момент написания) отчет об ошибке и патч доступны:
http://www.freebsd.org/cgi/query-pr.cgi?pr=188264
источник
Это имитирует нажатие кнопки мыши напрямую и не требует использования
xsel
/xdotool type ...
.источник
Я использую Ubuntu 12 и у меня возникла проблема с вставкой текста из xterm в gedit (и любое другое приложение). Кроме того, я использую ноутбук без средней кнопки мыши, как и многие люди (для пользователей linux без средних кнопок действительно нет жалости к буферу обмена, и нет: замена правой кнопкой мыши + left_click не работает).
Хотя я думаю, что метод "xsel | xvkbd -xsendevent -file -" довольно крутой. Я обнаружил, что самое простое решение - запустить предустановленный «gnome-терминал» вместо «xterminal». «gnome-терминал» поддерживает команду копирования в буфер обмена, щелкнув правой кнопкой мыши. Затем я мог бы "Edit Menu-> Paste" в gedit или использовать shift-insert. "gnome-терминал" был предустановлен с Ubuntu 12. Другие установки Debian / gnome должны быть в состоянии установить его через:
В Ubuntu добавьте его в левую панель запуска, нажав кнопку «Dash Home» в верхней части панели запуска. В появившемся окне поиска введите терминал. Вы можете перетащить значок «Терминал» на панель запуска.
источник