Su alcune configurazioni linux predefinite, Shift+ Inserteseguirà un X-selection-paste
. Come hai notato, questo è nettamente diverso dal X-clipboard-paste
comando, la cui associazione spesso varia in base all'applicazione. Se non funziona qui ci sono un paio di altri tasti da provare:
Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
Non andare? L'ambiente desktop o Window Manager probabilmente non li ha configurati, ed è complicato perché — anche sotto il banner di un DE o WM— ogni toolkit (ad es. GTK, Qt, ecc.) Potrebbe avere diversi binding predefiniti. Alcuni programmi (ad esempio gvim
) anche avere i propri registri copia interna che non sono necessariamente sincronizzati per l'ambiente grafico che corrono in. Per finire, anche quando un programma fa utilizzare il sistema X-appunti, X ha più sistemi tra cui scegliere. I due più basilari sono il buffer di selezione - che ha sempre qualunque cosa sia stata selezionata l'ultima cosa (eseguita quando non lo fa) - e il buffer di copia - in cui di solito le cose devono essere specificamente copiate. Per eseguire una copia esplicita in quest'ultimo sistema è possibile provare uno di questi per dimensioni:
Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Se nulla di tutto ciò funziona magicamente per te, ci sono due modi in cui puoi andare.
C'è un'app per questo! ™ Usa uno dei vari programmi di gestione degli appunti per gestirlo. Il più popolare sembra essere Parcellite e Glippy , ma è possibile controllare le altre alternative qui . Vedi anche questa domanda sui gestori di appunti avanzati
Hack te stesso.
Quindi diciamo che vuoi hackerarlo.
A meno di scrivere il tuo codice e toccare l'API X, gli strumenti di hacker per il lavoro sono un paio di piccole utility da riga di comando che ti danno una finestra nella mente di X. Solo una piccola finestra, attenzione, l'intera vista è troppo spaventosa .
Il primo strumento è xsel
. Questo piccolo jobber sputerà tutto ciò che è nel buffer di selezione di X in qualsiasi momento.
Ora devi inserirlo nel tuo programma. Ci sono due opzioni per questo. Uno è xdotool
che ti consente di imitare l'invio di eventi al sistema di input Xorg. Puoi usare il suo metodo di tipo come xdotool type foo_bar
imitare digitando 'foo_bar' al cursore. Combinati, ottieni qualcosa del genere:
$ xdotool type $(xsel)
L'altro è xvkbd
che invia gli eventi della tastiera da un sottosistema inferiore. È possibile reprimere i tasti in esso su STDIN. In combinazione con xsel
, ottieni qualcosa del genere:
$ xsel | xvkbd -xsendevent -file -
Grande. Ora per quel keybinding per eseguire questa roba. Se esegui Gnome-2, puoi aggiungere una scorciatoia personalizzata in Sistema -> Preferenze -> Scorciatoie da tastiera . Se si utilizza un DE o WM diverso, questo excersize viene lasciato al lettore.
L'ultima nota è che quando si associano i comandi alle scorciatoie da tastiera è spesso necessario disporre di un solo comando, non di due comandi collegati a una pipe, come si usa sopra. È possibile ottenere ciò invocando il comando piped come stringa di comando argumetn in una nuova shell come questa:
sh -c 'xsel | xvkbd -xsendevent -file -'
sh -c 'xdotool type "$(xsel)"'