¿Qué funcionalidad ofrecen las 'marcas' en la Terminal de El Capitán?

117

Desde la actualización a OS X El Capitan, noté un cambio en la Terminal: las líneas ejecutadas muestran un corchete de apertura a la izquierda y un corchete de cierre a la derecha, como se muestra en esta captura de pantalla:

Terminal

Preguntas similares se han hecho aquí:

Algunas de las preguntas se refieren a estos corchetes como marcas , y el menú Editar de la Terminal tiene un par de entradas relacionadas con las marcas , por ejemplo:

  • Edición> Marcas> Marcar como solicitud y enviar devolución
  • Editar> Borrar a marca anterior
  • Editar> Navegar> Saltar a marca anterior

Menú de edición

¿Hay un resumen de para qué se pueden usar estas marcas? No he visto ninguna referencia a esta nueva característica en ninguna de las descripciones de las características de El Capitan.

nwinkler
fuente
99
Si hubiéramos encontrado una mejor manera de pagar Siracusa suficiente para examinar el sistema operativo durante meses ....
bmike

Respuestas:

155

Marcas en la terminal

Las nuevas marcas de Terminal (disponibles a partir de OS X 10.11 - El Capitan) son similares a los Marcadores , que también están disponibles en la Terminal, lo que le permite marcar las posiciones de la ventana y luego le da la opción de volver más tarde.

Las marcas (o marcadores) no se refieren a su historial de comandos, sino al búfer de desplazamiento utilizado en la ventana / pestaña Terminal.

Marcar una línea

De manera predeterminada, cada vez que presiona Enteren la ventana Terminal, la línea está marcada , que se muestra usando un paréntesis de apertura al comienzo de la línea y uno de cierre al final. Este comportamiento predeterminado se puede desactivar mediante la entrada de menú Editar> Marcas> Marcar líneas de solicitud automáticamente . Cuando esto está deshabilitado, aún puede ejecutar y marcar manualmente un comando usando Cmd+Enter(o con la entrada de menú Editar> Marcas> Marcar como indicador y Enviar retorno ).

Si tiene habilitado el marcado automático y desea ejecutar un comando sin marcarlo como un aviso , puede hacerlo utilizando Cmd+Shift+Enter(o con la entrada de menú Editar> Marcas> Enviar Volver sin marcar ).

Desactivar marcas

El marcado automático de líneas se puede deshabilitar usando la entrada de menú Editar> Marcas> Marcar líneas de solicitud automáticamente .

Desde la línea de comando, se puede lograr lo mismo usando

defaults write com.apple.Terminal AutoMarkPromptLines -bool NO

Ocultar marcas

Si desea utilizar la funcionalidad de marca , pero no desea ver los corchetes al principio y al final de la línea, los oculta mediante la entrada del menú Ver> Ocultar marcas . Esto mantendrá intacta la funcionalidad a continuación, pero ya no mostrará los corchetes.

Saltando entre marcas

Una vez que se ha marcado una línea, puede saltar rápidamente a la marca anterior usando Cmd+Upo a la siguiente usando Cmd+Down. Se proporcionan opciones similares para Marcadores y para seleccionar la marca siguiente / anterior:

Menú de edición

Marcado manual de una línea

Además de la marca automática, también puede agregar marcas manualmente seleccionando una línea en la salida del terminal con el mouse y luego seleccionando la entrada de menú Editar> Marcas> Marcar como indicador (o Cmd+U).

Casos de uso

La funcionalidad Marcas es útil si algunos de sus comandos ejecutados producen muchos resultados, y desea desplazarse rápidamente a la posición donde ingresó el comando. Presionar Cmd+Upte llevará allí. Presionarlo repetidamente lo llevará más arriba, mientras que presionarlo Cmd+Downlo llevará nuevamente hacia abajo. La ubicación de destino se resalta convenientemente a medida que salta / se desplaza.

Uso de marcas

Seleccionar contenido

Se puede usar la misma funcionalidad de marcas para seleccionar la salida de Terminal. Al presionar Cmd+Shift+Upse seleccionará el contenido hasta la marca anterior, mientras que Cmd+Shift+Downse seleccionará hasta la siguiente marca. Esto es útil cuando se desea copiar la salida del registro u otro contenido de la Terminal.

Esta funcionalidad también está disponible en el menú Edición> Navegar mientras presiona la Shifttecla:

Navegar por el menú

Resumen

Después de haber usado esto durante un par de días, me parece increíblemente útil. Desplazarse hacia arriba a través de cientos de líneas de salida para encontrar el comienzo de la salida del comando de repente se ha vuelto mucho más fácil.

Me pregunto por qué esta nueva característica no se menciona de manera más prominente: no la he visto en ninguno de los tutoriales de El Capitan. Actualmente, la ayuda de Terminal tampoco proporciona detalles sobre esta función.

nwinkler
fuente
1
Gran respuesta. Solo para agregar un poco, los marcadores también se pueden nombrar, así que piense en los marcadores como capítulos en un libro y las marcas como párrafos. Puede crear un nuevo marcador al iniciar una nueva tarea en la misma Terminal, útil para recordar exactamente dónde comenzó y qué hizo.
user14492
Esto es realmente realmente útil. Gracias por esta gran explicación! Me preguntaba por qué observé lo mismo meses atrás, pero lo ignoré, hasta que me di cuenta de que no tenía nada que ver con mi PS1 modificada. ¡Excelente!
bretón
4

Parece una forma de 'marcadores rápidos / ligeros'. Supongo que deshabilitar 'Marcar automáticamente líneas de solicitud' hace que su función sea más evidente. Después de hacer eso, Cmd-Enter guarda explícitamente la marca, y Cmd-Up / Down salta entre ellos.

Como puede convertir marcas en marcadores y viceversa, los vería como marcadores ligeros o de segundo nivel.

fonso
fuente
1
Eso no parece del todo exacto. Cuando uso Cmd + Arriba , no pasa por mi historial, sino que desplaza toda la ventana de Terminal al comando marcado anteriormente .
nwinkler
No tengo instalado El Capitán (todavía) y mi respuesta está un poco fuera de tema. Si se trata de una función de búsqueda de historial como las que menciona @fonso, parece que Apple rediseñó la antigua función <kbd> CTRL </kbd> - <kbd> R </kbd> de bash, donde podría hacer una búsqueda inversa interactiva del historial . Y Apple parece haberlo visualizado.
Garex
2
No, no es. Como he dicho en mi comentario, no tiene ninguna superposición con la búsqueda del historial CTRL + R. Parece que la función de marcas funciona como una especie de marcador automático, lo que le permite desplazarse hacia arriba a través del búfer de la ventana del terminal rápidamente.
nwinkler
Lo sentimos, tienes toda la razón, ¡está marcando el punto de desplazamiento, no el historial! Editaré la respuesta.
fonso