Предыдущие команды, заключенные в квадратные скобки в OS X Terminal


91

Вчера мой терминал начал окружать команды, которые запускались в квадратных скобках. Я не уверен, как я включил это, но хотел бы выключить это.

Пример: Квадратные скобки вокруг команд

Пока что я сделал:

  • Проверил, что нет ничего смешного в моем .bash_profile
  • Попробовал изменить профиль обратно на Basic
  • Пробовал переходить на другую оболочку (zsh)

Я не смог ничего раскрыть в Google.

Есть идеи?


Обновить

Выход из echo "$PS1"; echo "$PROMPT_COMMAND" введите описание изображения здесь


? Что именно ты имеешь ввиду? На скриншоте нет []?
Тонни

2
@ Тонни посмотрите на крайнюю левую и правую часть первой строки - прямо напротив края окна
Джош

Я вижу: это целая строка, включая подсказку. Я был сосредоточен только на команде. Я не могу вспомнить, чтобы когда-либо видел это на моем Mac. Я только что проверил, и его нет на моих 2 Mac, оба запускают Yosemite, bash с конфигурацией vanilla, я никогда не менял это ни на одной машине.
Тонни

Покажите нам:echo "$PS1"; echo "$PROMPT_COMMAND"
Гленн Джекман

Я предполагаю, что ваши команды установки set-prompt немного запутаны. Для того, чтобы сделать причудливое полужирное или цветное форматирование, этот квадратный символ часто используется, и я думаю, что один из них появляется в вашем приглашении вместо форматирования приглашения.
Jimtut

Ответы:


120

Понял! Каким-то образом я случайно включил «Автоматически отмечать строки подсказок»:

введите описание изображения здесь

Мне, правда, интересно, где эта конфигурация хранится на диске, как я тоже пытался:

  • Удаление ~/Library/Preferences/com.apple.Terminal.plist
  • Запуск терминала из моего раздела Yosemite (не показывал оценки)
  • Извлечение свежей копии Терминала из установщика El Capitan (с отметками)

Удаление списка может быть недостаточно. Изменения в cfprefsd за последние пару лет означают, что отменить предпочтения уже не так просто.
Зев Айзенберг,

Кроме того: что означает «пометить строки подсказок» и зачем вам это нужно?
Зев Айзенберг,

13
Я думаю, что El Capitan включает это по умолчанию, я сходил с ума, пока не увидел твой ответ. СПАСИБО!
Victmo

4
Смотрите здесь для объяснения об этой функции: apple.stackexchange.com/questions/209635/...
nwinkler

5
Это было автоматически включено в El Capitan для меня. Удивительно, насколько раздражающей была эта крошечная графическая аномалия. Большое спасибо за то, что выяснили это!
Дзен

27

View> Hide Marksскрывает эти квадратные скобки, не снимая возможности навигации с ними, давая лучшее из обоих миров.


В чем разница между «Автоматически отмечать строки подсказок» и «Скрыть метки» ?
Наваз

1
«Метка» в строке - это семантическая сущность, которая позволяет вам вернуться к командам (см. Edit> Navigate). Сокрытие меток удаляет визуальный элемент, сохраняя местоположение в вашем терминале. Это «лучшее из обоих миров», потому что вы все еще можете быстро вернуться к своей последней команде, но не отвлекаетесь на маленькие []s
SubmittedDenied

6

Предпочтение отключению подсказок:

defaults write com.apple.Terminal AutoMarkPromptLines -int 0

Лучшее из написанного мной о том, как использовать знаки, можно найти по адресу:

Вы также можете пропустить одну пометку, если оставите их включенными, нажав Command- Shift-, Returnчтобы пропустить пометку только этой одной командной строки.


1
Прямое написание предпочтений с помощью ключа для конкретной реализации не требуется: просто используйте пункт меню « Просмотр»> «Показать / скрыть метки» .
Крис Пейдж

4
Конечно, не @ChrisPage - но для тех из нас, кто пишет сценарии наших стандартных установок или желает изменить лабораторию на 100 компьютеров, приятно иметь выбор ;-)
bmike

3
В этом случае я думаю, что этот ответ был бы улучшен, если бы он упомянул об этом и сначала описал пункт меню. Вопрос в том, что отдельный пользователь взаимодействует с приложением, а не пытается настроить набор компьютеров.
Крис Пейдж
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.