Comandos anteriores envueltos entre corchetes en OS X Terminal

91

Ayer mi terminal comenzó a rodear comandos que se habían ejecutado entre corchetes. No estoy seguro de cómo he activado esto, pero me gustaría desactivarlo.

Ejemplo: Corchetes alrededor de los comandos

Hasta ahora, he hecho:

  • Comprobado que no hay nada gracioso en mi .bash_profile
  • Intenté cambiar el perfil nuevamente a Básico
  • Intenté cambiar a un shell diferente (zsh)

Tampoco he podido descubrir nada en Google.

¿Algunas ideas?


Actualizar

Salida de echo "$PS1"; echo "$PROMPT_COMMAND" ingrese la descripción de la imagen aquí

Josh
fuente
? Qué quieres decir exactamente? ¿No hay ninguna [] en tu captura de pantalla?
Tonny
2
@Tonny mira el extremo izquierdo y derecho de la primera línea - hasta el borde de la ventana
Josh
Ya veo: es toda la línea, incluido el aviso. Me estaba centrando solo en el comando. No recuerdo haber visto eso en mi Mac. Acabo de comprobar y no está presente en mis 2 Mac, ambos ejecutan Yosemite, bash con la configuración de vainilla, nunca cambié eso en ninguna de las máquinas.
Tonny
Muéstranos:echo "$PS1"; echo "$PROMPT_COMMAND"
glenn jackman
Supongo que sus comandos de configuración set-prompt están un poco desordenados. Para hacer un formato elegante en negrita o en color, ese carácter de corchete se usa mucho, y creo que uno de ellos aparece en su solicitud, en lugar de formatear la solicitud.
jimtut

Respuestas:

120

¡Entendido! De alguna manera, accidentalmente activé "Marcar automáticamente líneas de aviso" en:

ingrese la descripción de la imagen aquí

Sin embargo, me pregunto dónde se almacena esa configuración en el disco, ya que también intenté:

  • Borrando ~/Library/Preferences/com.apple.Terminal.plist
  • Ejecutando Terminal desde mi partición Yosemite (no mostró las marcas)
  • Extraer una copia nueva de Terminal del instalador de El Capitan (sí mostró las marcas)
Josh
fuente
Eliminar el plist puede no haber sido suficiente. Los cambios de cfprefsd en los últimos años significan que ya no es tan simple desechar las preferencias.
Zev Eisenberg
Además: ¿qué significa "marcar líneas de aviso" y por qué lo querrías?
Zev Eisenberg
13
Creo que El Capitán activa esto por defecto. Me estaba volviendo loco hasta que vi tu respuesta. ¡GRACIAS!
victmo
44
Consulte aquí para obtener una explicación sobre esta función: apple.stackexchange.com/questions/209635/…
nwinkler
55
Esto también se activó automáticamente en El Capitán para mí. Es sorprendente lo irritante que era esta pequeña y pequeña anomalía gráfica. ¡Muchas gracias por resolver esto!
Zen
27

View> Hide Marksoculta estas líneas de corchetes, sin eliminar la capacidad de navegar con ellas, dando lo mejor de ambos mundos.

Charlie Harding
fuente
¿Cuál es la diferencia entre "Marcar automáticamente líneas de aviso" y "Ocultar marcas" ?
Nawaz
1
Una "marca" en una línea es una entidad semántica que le permite navegar de regreso a los comandos (Ver Edit> Navigate). Ocultar marcas elimina el elemento visual, al tiempo que preserva la ubicación en su terminal. Este es el "mejor de ambos mundos", porque todavía puede desplazarse rápidamente de nuevo a su último comando, pero no se distraigan con los pequeños []s
SubmittedDenied
6

La preferencia para desactivar las marcas de aviso es:

defaults write com.apple.Terminal AutoMarkPromptLines -int 0

La mejor redacción que he visto sobre cómo usar las marcas es en:

También puede omitir una marca si las deja habilitadas presionando Command- Shift- Returnpara omitir la marca solo esta línea de comando.

bmike
fuente
1
Escribir las preferencias directamente con la clave específica de implementación no es necesario: solo use el elemento de menú Ver> Mostrar / Ocultar marcas .
Chris Page
44
Por supuesto que no @ChrisPage, pero es bueno tener la opción para aquellos de nosotros que escriben nuestras configuraciones estándar o desean cambiar un laboratorio con 100 computadoras ;-)
bmike
3
En ese caso, creo que esta respuesta mejoraría si mencionara eso y describiera por primera vez el elemento del menú. La pregunta es sobre un usuario individual que interactúa con una aplicación y no intenta configurar un conjunto de computadoras.
Chris Page