Entonces, ten en cuenta que la pestaña
carácter, Unicode U + 0009 "TABULACIÓN DE PERSONAJES" (UTF-8 / ASCII hex 09) es simplemente un carácter regular. Una que es muy molesta de tratar, sí. Pero no es un 'personaje de control'.
Esto es diferente de lo que sucede cuando presiona la tecla en su teclado con la etiqueta tab , que podría asignarse a una secuencia de escape / control de caracteres como '\ t', que es diferente .
El problema específico que encontraste es, de hecho, "solucionado" en 10.4.1+. Sin embargo, esto todavía no significa que no vaya a encontrar este error u otros similares.
Por ejemplo, toma la secuencia:
printf '3[34mEscape!3[00m\n'
E intente copiarlo / pegarlo (o su salida) en diferentes shells. También intente establecer la configuración de Terminal.app 'Escape entrada no ASCII con Control-V', o use control-command-V, "Pegar texto escapado". Un poco extraño, ¿eh?
- Dentro de un terminal, tu mejor apuesta para la mayoría de las cosas es:
- En general, nunca use los accesos directos ⌘C y ⌘V para acceder al portapapeles.
- En su lugar, diríjase al comando
pbcopy
y luego use pbpaste
según sea necesario.
Entonces, esto sería git status | pbcopy
, y para algunos esto es posible que desee copiar, es posible que necesite combinar stderr y stdout: git error 2>&1 | pbcopy
resultará en un portapapeles vacío sin 2>&1
.
Esto todavía puede quitar los caracteres de control adecuados (cualquier cosa que no sea válida en UTF-8). Pero como mencionó, usted ya sabe por qué no quiere copiar y pegar estos. Si está configurado para capturar "caracteres de control" además de texto, de lo que realmente estamos hablando es simplemente capturar un flujo de bytes, por lo que probablemente sea mejor evitar el portapapeles, que nunca tuvo la funcionalidad de reproducir de forma arbitraria. secuencias de bytes.
P.S. ¿Ha considerado cambiar a iTerm2 ?