Come copiare il testo dalla riga di comando negli Appunti senza usare il mouse?


10

Sto cercando di trovare un modo per copiare il testo corrente in una riga di comando negli Appunti SENZA toccare il mouse. In altre parole, devo selezionare il testo solo con la tastiera. Ho trovato una soluzione a metà strada che potrebbe portare alla soluzione completa:

Ctrl+a - passa all'inizio della riga.

Ctrl+k - taglia l'intera linea.

Ctrl+y - tira indietro il testo tagliato.

In alternativa, posso anche usare Ctrl+uper eseguire i primi 2 passaggi.

Questo ovviamente funziona, ma sto cercando di capire esattamente dove viene salvato il testo tagliato. C'è un modo per accedervi senza usare Ctrl+y? Sono consapevole di xclipe ho anche utilizzare per il testo del tubo dritto negli appunti, quindi stavo pensando piping dei dati salvati Ctrl+ka xclip, ma non è sicuro come farlo.

Il metodo che ho ottenuto finora è scrivere uno script che utilizza xdotoolper aggiungere echoall'inizio della riga e | zxcalla fine della riga, quindi premere invio ( zxcessendo un alias personalizzato a cui sostanzialmente si reindirizza xclip). Anche questo funziona, ma non è una soluzione davvero "pulita".

Sto usando Cshell se questo fa la differenza.

EDIT: Non voglio usare screencome soluzione, ho dimenticato di menzionarlo.

Grazie!


Non correlato, ma anche buono a sapersi: Shift-Ins incolla la selezione in un xterm, se non vuoi solo tagliare il testo, ma anche incollarlo.
Dirkt

Risposte:


7

Se si utilizza xtermo un derivato, è possibile impostare i collegamenti dei tasti per avviare e terminare una selezione di testo e salvarla come selezione primaria X11 o un tagliabuffer. Vedere man xterm. Ad esempio, aggiungi a ~/.Xdefaults:

XTerm*VT100.Translations: #override\n\
    <Key>KP_1: select-cursor-start() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n\
    <Key>KP_2: start-cursor-extend() \
            select-cursor-end(PRIMARY, CUT_BUFFER0)\n

Puoi avere solo una XTerm*VT100.Translationsvoce. Aggiorna il server X11 con il nuovo contenuto del file con xrdb -merge ~/.Xdefaults. Inizia una nuova xterm.

Ora quando hai qualche input al prompt dei comandi, digitando 1sul tastierino numerico inizierà a selezionare il testo nella posizione corrente del cursore del testo, proprio come fa il pulsante 1 in basso sul mouse. Spostare il cursore con i tasti freccia, quindi premere 2sul tastierino numerico e il testo intermedio viene evidenziato e copiato nella selezione principale e in cutbuffer0. Ovviamente possono essere scelti altri tasti e azioni più adatti. Allo stesso modo puoi incollare la selezione con associazioni come insert-selection(PRIMARY).


Questo è fantastico! Non avevo idea che tu potessi farlo. Molto utile! È possibile usarlo in konsole?
Sancho Pancho,

2
Ho dato una rapida occhiata al manuale di Konsole ma non menziona questo tipo di controllo. È improbabile che lo troverai nella maggior parte degli emulatori di terminali poiché preferiscono fornire impostazioni che sono più semplici da gestire attraverso menu e finestre di dialogo.
Meuh

La translationsrisorsa è la funzione X Toolkit allusa qui e là che non ha controparti in altri toolkit. Tuttavia, puoi passare da una serie di traduzioni all'altra utilizzando la keymapfunzione (notando il commento su "Puoi averne solo una").
Thomas Dickey,

Grazie per tutti i commenti. Non hai ancora scoperto gli Appunti ctrl-k / ctrl-y, qualcuno sa come accedervi o dove salva effettivamente il testo tagliato?
Sancho Pancho,

@SanchoPancho A seconda del tuo csh, implementa un kill-ring interno che mantiene tagliato il testo e gli restituisce i legami yank e yank-pop. Non credo che tu abbia altri accessi a questo anello. vedi uomo csh .
Meuh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.