Come selezionare (copiare) un'uscita nel terminale senza mouse


10

Sembra un modo tipico di avere un po 'di output nel terminale e se vuoi selezionare una determinata frase usi il mouse per copiarla, ma c'è un modo per selezionare senza usare il mouse? Ad esempio, inserisco lse ottengo un elenco di file e desidero selezionare il secondo file (seconda riga), c'è un modo per copiare il nome senza usare il mouse?


Risposte:


10

Utilizzando tmux:

Uso tmuxin modalità vi:

  1. Vai alla modalità copia (nella mia configurazione Prefix+ escape, il prefisso predefinito è Ctrl+ b)
    • Nel file di configurazione ( ~/.tmux.conf):bind Escape copy-mode
  2. Muoviti (usando le frecce)
  3. Seleziona l'output desiderato (Inizia la selezione con Space)
    • Nella mia configurazione v:bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Premere Enterper copiare il testo.
    • Nella mia configurazione y:bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Premi Prefix+ pper incollare.

inserisci qui la descrizione dell'immagine

Crea anche un'associazione chiave come questa:

bind C-c run "tmux save-buffer - | xsel -bi"

Quindi è possibile salvare il buffer negli Appunti di sistema premendo Prefix+ Ctrl+ c.

Ho aggiunto la mia configurazione perché è più simile a VIM che alla configurazione predefinita.


Usando i comandi:

Ecco cosa faccio:

  1. Esegui il comando (ad es . ls -1:)
  2. Elabora l'output per ottenere il risultato desiderato
  3. Pip a xsel -bi

Nel tuo esempio:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 stampa gli output ciascuno su una riga
  • sed -n 2p prendi la seconda linea
  • xsel è stato usato per copiare il risultato finale negli appunti.

Se l'esecuzione del comando impiega troppo tempo, prima salvare l'output in un file per elaborare l'output:

command > output
head -10 output | whatever | xsel -bi

0

Gli emulatori di terminali Linux più comuni non possono farlo direttamente. Ce ne sono 2 di cui sono a conoscenza, però.

Uno che esiste da un po 'di tempo è la termite. È piuttosto spartanico, però (scorciatoie da tastiera non configurabili, senza più schede).

Ora ce n'è un secondo, che ha queste caratteristiche chiamate Mantid (che pubblicizzo spudoratamente qui :)):

https://github.com/omgold/mantid-term

Non esiste una build Ubuntu, tuttavia, un Arch e un RPM. Tuttavia, potresti provare a creare un RPM e convertirlo in deb usando Alien.


Vorrei provare mantid, ma non riesco a trovare alcun tutorial o manuale. C'è della documentazione là fuori? Sarebbe bene sapere almeno come realizza la funzionalità richiesta nella domanda.
Luís de Sousa,

C'è una manpage ('man mantid') e ci sono file di configurazione di esempio in / usr / share / mantid. La manpage documenta principalmente le opzioni di configurazione, e le combinazioni di tasti attive possono essere cercate nel file di configurazione.
omgold
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.