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


? 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)

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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.