Como atribuir um determinado atalho de teclado para colar um item específico?

5

Eu regularmente preciso colar um pouco de texto ou um arquivo (provavelmente uma imagem), mas fica um pouco longo e chato continuar voltando e colocando na minha área de transferência, já que tenho que copiar e colar outras coisas também.

Então, o que seria muito útil para mim seria ter um certo atalho de teclado que apenas cola um determinado texto ou arquivo, mas é separado da área de transferência principal. O atalho do teclado deve colocar o item na minha prancheta principal quando pressionado ou deve apenas colá-lo, o que for mais fácil de fazer (se ambos forem tão fáceis quanto um ao outro, ambos seriam bons, pois há ocasiões em que precisarei de um e ocasiões em que precisarei do outro).

Existe uma maneira de fazer algo assim? Estou executando o Ubuntu GNOME 16.04 com o GNOME 3.20.

    
por Great Uncle Bulgaria 02.07.2016 / 14:17

1 resposta

6

O comando para obter uma string fixa na área de transferência é muito fácil, é simplesmente

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

ou se você quiser ler a string de um arquivo

xsel -ib < your-file.txt

ou de uma saída de comando

your-command | xsel -ib

A escrita direta de uma string fixa através da emulação de pressionamentos de tecla não é muito mais complexa embora

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

ou se você quiser ler a string de um arquivo

xvkbd -file your-file.txt

ou de uma saída de comando

your-command | xvkbd -file -

Você pode simplesmente criar um atalho personalizado na configuração Configurações do Sistema Teclado Atalhos e atribuir um comando para a combinação de teclas que você deseja.

Mas tome cuidado para que o interpretador de atalho não seja Bash ou um shell similar, então nossa <<< ("string here" syntax) ou | pipes não irá funcionar. Para resolver isso de qualquer maneira, simplesmente colocamos nosso comando shell com bash -c "INSERT COMMAND HERE" . Apenas preste atenção para não usar aspas duplas dentro do comando.

Aqui estão os comandos de como você deve inseri-los nas configurações do atalho:

  • Copie "minha string" para a área de transferência:

    bash -c "xsel -ib <<< 'my string'"
    
  • Copie o conteúdo de my-file.txt para a área de transferência:

    bash -c "xsel -ib < my-file.txt"
    
  • Copie a saída de my-command para a área de transferência:

    bash -c "my-command | xsel -ib"
    
  • Cole / escreva diretamente "minha string":

    bash -c "xvkbd -file - <<< 'my string'"
    
  • Cole / escreva diretamente o conteúdo de my-file.txt :

    bash -c "xvkbd -file my-file.txt"
    
  • Cole / escreva diretamente a saída de my-command :

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

Por favor, note que nem xsel nem xvkbd são instalados por padrão, então você provavelmente precisa instalá-los primeiro usando este comando:

sudo apt-get install xsel xvkbd
    
por Byte Commander 02.07.2016 / 14:23