Sto eseguendo urxvt su Arch Linux. Posso selezionare l'output con il mouse per copia/incolla. Il problema si verifica quando l'output contiene tabulatori. Tutti i tabulatori vengono selezionati e copiati come spazi. Ciò rende davvero difficile preservare la struttura di alcuni output durante la copia.
C'è un modo per correggere questo comportamento?
EDIT:sto usando zsh se ciò ha qualche effetto sul problema.
Risposta accettata:
Non conosco nessun terminale che lo faccia, e dirò solo perché penso che nessun terminale lo faccia:
tab
è uno dei tanti caratteri che una volta visualizzato emette più di un carattere sullo schermo o sposta il cursore. CR (sposta all'inizio della riga), LF (giù), backspace (sinistra) e tutte le sequenze di escape che spostano il cursore o cambiano gli attributi dei caratteri e/o non mostrano nulla...
urxvt non ottiene nemmeno esattamente ciò che l'applicazione restituisce. Quando un'applicazione invia un LF (\n) al lato slave dello pseudo-terminale, noterai che, la maggior parte delle volte, non si limita a spostare il cursore verso il basso, come fa normalmente LF, ma lo sposta anche indietro all'inizio della linea. Questo perché il driver pty traduce "\n" in "\r\n" prima di renderlo disponibile per la lettura dal master lato del terminale da urxvt (puoi usare stty per cambiare quel comportamento).
Tieni inoltre presente che la selezione non acquisirà gli spazi finali.
La selezione X seleziona i caratteri che vengono visualizzati, non quelli che sono stati inviati dalle applicazioni per generare quella visualizzazione (considerare che qualsiasi carattere in una determinata posizione sullo schermo potrebbe essere stato sovrascritto più volte da una o più applicazioni (s)).
Alcuni terminali però consentono di catturare tutti i personaggi che ricevono sul lato master dello pseudo-terminale e, in caso contrario, puoi utilizzare "script" o "schermo" per farlo invece. Ma per ottenere l'output di un'applicazione nella selezione X, puoi anche semplicemente fare:
the-command | xsel