Comandos anteriores agrupados com colchetes no OS X Terminal

91

Ontem, meu terminal começou a cercar comandos que foram executados com colchetes. Não tenho certeza de como ativou isso, mas gostaria de desativá-lo.

Exemplo: Colchetes entre comandos

Até agora, eu fiz:

  • Verifiquei que não há nada engraçado na minha .bash_profile
  • Tentou alterar o perfil novamente para Básico
  • Tentei mudar para um shell diferente (zsh)

Também não consegui descobrir nada no Google.

Alguma ideia?


Atualizar

Saída de echo "$PS1"; echo "$PROMPT_COMMAND" insira a descrição da imagem aqui

Josh
fonte
? O que exatamente você quer dizer? Não há nenhum [] na sua captura de tela?
Tonny
2
@Tonny olhar para a direita e extrema esquerda da primeira linha - até contra a borda da janela
Josh
Entendo: é toda a linha, incluindo o prompt. Eu estava focando apenas no comando. Não me lembro de ter visto isso no meu próprio Mac. Acabei de verificar e ele não está presente nos meus 2 Macs, ambos rodam Yosemite, bash com a configuração de baunilha, nunca mudei isso em nenhuma das máquinas.
Tonny
Mostre-nos:echo "$PS1"; echo "$PROMPT_COMMAND"
glenn jackman
Eu estou supondo que seus comandos de configuração do prompt de configuração estejam um pouco confusos. Para fazer uma formatação sofisticada em cores ou negrito, esse caractere de colchete é muito usado e acho que um deles está aparecendo no seu prompt, em vez de formatá-lo.
jimtut

Respostas:

120

Entendi! De alguma forma, eu acidentalmente ativei "Marcar automaticamente linhas de prompt" em:

insira a descrição da imagem aqui

Eu me pergunto, porém, onde essa configuração está armazenada no disco, como também tentei:

  • Excluindo ~/Library/Preferences/com.apple.Terminal.plist
  • Rodando o Terminal da minha partição Yosemite (não mostrou as marcas)
  • Extrair uma nova cópia do Terminal do instalador do El Capitan (mostrou as marcas)
Josh
fonte
Excluir o plist pode não ter sido suficiente. As mudanças do cfprefsd nos últimos dois anos significam que não é tão simples deixar de lado as preferências.
Zev Eisenberg
Além disso: o que significa "marcar linhas de prompt" e por que você deseja?
Zev Eisenberg
13
Acho que o El Capitan liga isso por padrão. Eu estava ficando louco até ver sua resposta. OBRIGADO!
Victmo #
4
Veja aqui uma explicação sobre esse recurso: apple.stackexchange.com/questions/209635/…
nwinkler
5
Isso foi ativado automaticamente no El Capitan para mim também. Incrível como essa minúscula anomalia gráfica era irritante. Muito obrigado por descobrir este!
Zen
27

View> Hide Marksoculta essas linhas de colchete, sem remover a capacidade de navegar com elas, oferecendo o melhor dos dois mundos.

Charlie Harding
fonte
Qual é a diferença entre "Marcar automaticamente linhas de prompt" e "Ocultar marcas" ?
Nawaz
1
Uma "marca" em uma linha é uma entidade semântica que permite navegar de volta aos comandos (consulte Edit> Navigate). Ocultar marcas remove o elemento visual, preservando a localização no seu terminal. Este é o "melhor dos dois mundos", porque você ainda pode se deslocar rapidamente de volta para o seu último comando, mas não se distraiam com as pequenas []s
SubmittedDenied
6

A preferência para desativar as marcas de prompt é:

defaults write com.apple.Terminal AutoMarkPromptLines -int 0

A melhor redação que eu já vi sobre como usar marcas é:

Você também pode pular uma marca se deixá-la ativada pressionando Command- Shift- Returnpara pular a marcação apenas dessa linha de comando.

bmike
fonte
1
A gravação direta das preferências com a chave específica da implementação é desnecessária: basta usar o item de menu Exibir> Mostrar / Ocultar Marcas .
Chris Página
4
Claro que não @ChrisPage - mas é bom ter a escolha para aqueles de nós que o script nossas configurações padrão ou desejo de mudar um laboratório com 100 computadores ;-)
bmike
3
Nesse caso, acho que essa resposta seria melhorada se mencionasse isso e descrevesse primeiro o item do menu. A questão é sobre um usuário individual interagindo com um aplicativo, não tentando configurar um conjunto de computadores.
Chris Página