Mojave: incolla il testo con i caratteri di controllo

4

Io uso git da Terminal.app e occasionalmente finirò (in particolare dopo una risoluzione di fusione) con qualcosa del tipo:

$ git status
  ...
  Untracked files:
      foo/bar/baz.orig

Dove lo spazio bianco prima di foo è un carattere di tabulazione.

Da quando Mojave, copiando e incollando quella linea (che voglio fare per rm del file) risulta in un avviso (completo di strong boato) che mi chiede di confermare se voglio incollare i cattivi caratteri di controllo.

Qualcuno sa se:

  1. c'è un modo per disattivare l'avviso e incollare semplicemente con il controllo caratteri, o
  2. c'è una scorciatoia da tastiera per incollare senza il controllo personaggi?

FWIW, capisco che ci sono altri modi per rimuovere il file (ad es. git status|grep orig$|xargs rm ) e capisco perché, nel caso generale, si voglia limitare l'incollatura dei caratteri di controllo.

    
posta chrisbtoo 30.10.2018 - 18:06
fonte

3 risposte

3

Aggiorna il tuo sistema operativo su 10.14.1 o successivo

Sembra che Terminal in 10.14 presenti questa finestra di dialogo quando si incolla un carattere di tabulazione, ma il terminale aggiornato in 10.14.1 e 10.14.2 non lo fa.

Mi stavo grattando la testa sul motivo per cui ero in grado di riprodurre questo problema solo su un'installazione ma non su un'altra. Incapace di trovare le impostazioni che hanno avuto un impatto, alla fine ho provato ad aggiornare la macchina che mostrava la finestra di dialogo, e non c'era più.

    
risposta data 13.12.2018 - 23:49
fonte
1

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?

  1. 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 ?

    
risposta data 13.12.2018 - 13:38
fonte
0

Proverei a concedere l'accesso completo al disco del terminale nelle preferenze di sistema.

Puoi farlo come segue:

  1. Vai su Apple > Preferenze di sistema ...
  2. Fai clic su Sicurezza e amp; Privacy
  3. Seleziona la scheda Privacy
  4. Nel riquadro a sinistra, seleziona l'opzione Accesso completo al disco
  5. Ora fai clic sul lucchetto in basso a sinistra nella finestra
  6. Inserisci la password di amministrazione e fai clic sul pulsante Unlock
  7. Ora fai clic sul pulsante + nella parte inferiore dell'elenco a destra
  8. Accedi all'app Terminal (di solito si trova all'interno della cartella Utility all'interno della cartella Applicazioni) e aprila ( Nota: se il terminale era già in esecuzione ti verrà chiesto di uscire prima)
  9. Ricordati di bloccare nuovamente il lucchetto

Ora prova a incollare il testo con i caratteri di controllo nel Terminale e guarda come vai.

    
risposta data 11.12.2018 - 05:23
fonte

Leggi altre domande sui tag