Quindi, tieni presente che il carattere% tab di% co_de, Unicode U + 0009 "TABULAZIONE DI CARATTERI" (UTF-8 / ASCII hex 09) è semplicemente un carattere normale. Uno che è molto fastidioso da affrontare, sì. Ma non è un "personaggio di controllo".
È diverso ciò che accade quando premi il tasto sulla tastiera etichettato scheda , che potrebbe essere mappato a una sequenza di escape / carattere di controllo come "\ t", che è diverso .
Il problema specifico che hai riscontrato è stato "risolto" in 10.4.1+. Tuttavia, questo non significa che non si verificheranno errori simili o simili.
Ad esempio, prendi la sequenza:
E prova a copiare / incollare (o il suo output) in shell differenti. Prova anche a impostare Terminal.app impostando 'Esegui input non ASCII con Control-V', o usando control-command-V, "Paste Escaped Text". Ti piacciono le cose strane, eh?
- All'interno di un terminale, la soluzione migliore per la maggior parte delle cose è:
- Generalmente, non utilizzare mai le scorciatoie ⌘C e ⌘V per accedere agli Appunti.
- Invece, condividi il comando
printf '3[34mEscape!3[00m\n'
, quindi usa pbcopy
come necessario.
Quindi, questo sarebbe pbpaste
, e per alcuni questo potresti voler copiare, potresti aver bisogno di combinare stderr e stdout: git status | pbcopy
genererà un vuoto negli appunti senza git error 2>&1 | pbcopy
.
Questo può ancora escludere i caratteri di controllo appropriati (qualsiasi cosa che non sia UTF-8 valida). Ma come hai detto, sei già consapevole del perché potresti non volerli copiare e incollare. Se si imposta la cattura di "caratteri di controllo" e di testo, ciò di cui stiamo realmente parlando è semplicemente catturare un flusso di byte, quindi è probabilmente meglio evitare del tutto gli appunti, che non hanno mai avuto la funzionalità di riprodurre arbitrariamente sequenze di byte.
P.S. Hai preso in considerazione il passaggio a iTerm2 ?