Que funcionalidade as 'marcas' oferecem no Terminal El Capitan?

117

Desde a atualização para o OS X El Capitan, notei uma alteração no Terminal: As linhas executadas mostram um colchete de abertura à esquerda e um colchete de fechamento à direita, conforme mostrado nesta captura de tela:

terminal

Perguntas semelhantes foram feitas aqui:

Algumas das perguntas estão se referindo a esses colchetes como marcas , e o menu Editar do terminal possui algumas entradas relacionadas a marcas , por exemplo:

  • Editar> Marcas> Marcar como Avisar e Enviar Devolução
  • Editar> Limpar para marca anterior
  • Editar> Navegar> Ir para a marca anterior

Menu Editar

Existe um resumo do uso dessas marcas? Não vi nenhuma referência a esse novo recurso em nenhuma das visões gerais do El Capitan.

nwinkler
fonte
9
Se tivéssemos encontrado uma maneira melhor pagar Siracusa suficiente para controlar a OS durante meses a fio ....
bmike

Respostas:

155

Marcas no Terminal

As novas marcas do Terminal (disponíveis a partir do OS X 10.11 - El Capitan) são semelhantes aos Favoritos , que também estão disponíveis no Terminal, permitindo marcar as posições da janela e, em seguida, dar a opção de voltar mais tarde.

Marcas (ou Favoritos) não se referem ao seu histórico de comandos, mas ao buffer de rolagem usado na janela / guia Terminal.

Marcando uma linha

Por padrão, toda vez que você pressiona Entera janela Terminal, a linha é marcada , que é exibida usando um colchete de abertura no início da linha e um colchete de fechamento no final. Esse comportamento padrão pode ser desativado usando a entrada de menu Editar> Marcas> Marcar automaticamente linhas de prompt . Quando isso estiver desativado, você ainda poderá executar e marcar manualmente um comando usando Cmd+Enter(ou com a entrada de menu Editar> Marcas> Marcar como prompt e Enviar retorno ).

Se você tiver a marcação automática ativada e desejar executar um comando sem marcá-lo como um prompt , poderá fazer isso usando Cmd+Shift+Enter(ou com a entrada de menu Editar> Marcas> Enviar retorno sem marcação ).

Desativando marcas

A marcação automática de linhas pode ser desativada usando a entrada de menu Editar> Marcas> Marcar automaticamente linhas de prompt .

Na linha de comando, o mesmo pode ser alcançado usando

defaults write com.apple.Terminal AutoMarkPromptLines -bool NO

Ocultando marcas

Se você deseja usar a funcionalidade de marca , mas não deseja ver os colchetes no início e no final da linha, oculte-os usando a entrada de menu Exibir> Ocultar marcas . Isso manterá intacta a funcionalidade abaixo, mas não mostrará mais os colchetes.

Saltando entre marcas

Depois que uma linha é marcada, você pode pular rapidamente para a marca anterior usando Cmd+Upou para a próxima usando Cmd+Down. Opções semelhantes são fornecidas para Marcadores e para seleção para a marca seguinte / anterior:

Menu Editar

Marcando manualmente uma linha

Além da marcação automática, você também pode adicionar marcas manualmente, selecionando uma linha na saída do terminal usando o mouse e, em seguida, selecionando a entrada de menu Editar> Marcas> Marcar como prompt (ou Cmd+U).

Casos de Uso

A funcionalidade Marcas é útil se alguns de seus comandos executados produzem muita saída e você deseja rolar rapidamente para a posição em que inseriu o comando. Pressionando Cmd+Upo levará até lá. Pressionar repetidamente o levará mais longe, enquanto pressionar Cmd+Downlevará você de volta para baixo novamente. O local de destino é destacado convenientemente conforme você pula / rola.

Marcas de Uso

Selecionando Conteúdo

A mesma funcionalidade de marcas pode ser usada para selecionar a saída do terminal. Pressionar Cmd+Shift+Upselecionará o conteúdo até a marca anterior, enquanto Cmd+Shift+Downselecionará até a próxima marca. Isso é útil quando você deseja copiar a saída de log ou outro conteúdo do Terminal.

Essa funcionalidade também está disponível no menu Editar> Navegar enquanto pressiona a Shifttecla:

Menu Navegar

Sumário

Tendo usado isso por alguns dias, acho incrivelmente útil. Percorrer centenas de linhas de saída para encontrar o início da saída do comando tornou-se subitamente muito mais fácil.

Eu me pergunto por que esse novo recurso não é mencionado de maneira mais destacada - eu não o vi em nenhuma das orientações do El Capitan. Atualmente, a ajuda do Terminal também não fornece detalhes sobre esse recurso.

nwinkler
fonte
1
Ótima resposta. Só para adicionar um pouco, os marcadores também podem ser nomeados; pense nos marcadores como capítulos de um livro e marcados como parágrafos. Você pode criar um novo marcador ao iniciar uma nova tarefa no mesmo terminal, útil para lembrar exatamente onde começou e o que fez.
user14492
Isso é realmente muito útil. Obrigado por esta ótima explicação! Fiquei me perguntando por que observei a mesma coisa meses atrás, mas a ignorei, até perceber que não tinha nada a ver com meu PS1 modificado. Ótimo!
Bretonics # 9/16
4

Parece uma forma de 'marcação rápida / leve'. Eu acho que desabilitar 'Marcar automaticamente linhas de prompt' torna sua função mais evidente. Depois disso, o Cmd-Enter salva explicitamente a marca e o Cmd-Up / Down salta entre eles.

Como você pode converter marcas em marcadores e vice-versa, eu as veria como marcações leves ou de segundo nível.

fonso
fonte
1
Isso não parece totalmente preciso. Quando uso Cmd + Up , ele não percorre meu histórico, mas rola a janela inteira do Terminal para o comando marcado anteriormente .
Nwinkler
Ainda não tenho o El Capitan instalado e minha resposta é um pouco fora de tópico. Se esse é um recurso de pesquisa de histórico, como mencionado por @fonso, parece que a Apple reformulou o antigo recurso <kbd> CTRL </kbd> - <kbd> R </kbd> do bash, onde você pode fazer uma pesquisa de histórico interativo reverso . E a Apple parece ter visualizado.
#
2
Não, não é. Como eu disse no meu comentário, ele não tem nenhuma sobreposição com a pesquisa de histórico CTRL + R. Parece que o recurso de marcas funciona como uma espécie de marcador automático, permitindo rolar rapidamente pelo buffer da janela do terminal.
Nwinkler 7/10
Desculpe, você está completamente certo, está marcando o ponto de rolagem, não a história! Vou editar a resposta.
8135 fonso