Как присвоить определенное сочетание клавиш для вставки определенного объекта?

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

Таким образом, то, что было бы очень полезно для меня, должно будет иметь определенное сочетание клавиш, которое просто вставляет определенную часть текста или файла, но является отдельным от основного буфера обмена. Сочетание клавиш должно или поместить объект в мой основной буфер обмена при нажатии или это должно просто вставить его сам, какой бы ни легче сделать (если бы оба так же столь же легкие как друг друга затем, оба были бы хороши как, существуют случаи, когда мне будет нужно один, и случаи, когда мне будет нужен другой).

Существует ли способ сделать что-то вроде этого? Я выполняю Ubuntu GNOME 16.04 с GNOME 3.20.

4
задан 2 July 2016 в 15:17

1 ответ

Команда для получения фиксированной строки в буфер обмена очень легка, это просто

xsel -ib <<< 'Your string goes here'

или если Вы хотите считать строку из файла

xsel -ib < your-file.txt

или от команды производится

your-command | xsel -ib

Непосредственно запись фиксированной строки путем эмуляции нажатий клавиш не намного более сложна хотя

xvkbd -file - <<< 'Your string goes here'

или если Вы хотите считать строку из файла

xvkbd -file your-file.txt

или от команды производится

your-command | xvkbd -file -

Можно просто создать пользовательский ярлык в Параметрах настройки системыКлавиатураконфигурация Ярлыков и присвоить команду сочетанию клавиш, которого Вы желаете.

Но заботьтесь, что интерпретатор ярлыка не является Bash или подобной оболочкой, таким образом, наш <<< ("здесь представляют в виде строки" синтаксис), или | каналы не будут работать. Для решения этого так или иначе мы просто включаем нашу команду оболочки с bash -c "INSERT COMMAND HERE". Просто обратите внимание, что Вы не используете двойные кавычки в команде затем.

Вот команды, как необходимо было бы ввести их в настройки ярлыка:

  • Копия "моя строка" к буферу обмена:

    bash -c "xsel -ib <<< 'my string'"
    
  • Содержание копии my-file.txt к буферу обмена:

    bash -c "xsel -ib < my-file.txt"
    
  • Вывод копии my-command к буферу обмена:

    bash -c "my-command | xsel -ib"
    
  • Непосредственно вставляйте/пишите "мою строку":

    bash -c "xvkbd -file - <<< 'my string'"
    
  • Непосредственно вставляйте/пишите содержание my-file.txt:

    bash -c "xvkbd -file my-file.txt"
    
  • Непосредственно вставляйте/пишите вывод my-command:

    bash -c "my-command | xvkbd -file -"
    

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

sudo apt-get install xsel xvkbd
5
ответ дан 1 December 2019 в 09:33

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

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