Как я могу изменить свое приглашение, чтобы включить рисование символов Unicode?

2686
Wuffers

Как я могу получить $PS1содержащие символы рисования коробки?

Я запускаю Bash, если это имеет значение.

4
... Арчер - это имя машины, я полагаю? Arjan 13 лет назад 0
Может быть, но я не слишком заинтересован в этой части. В основном меня интересуют персонажи слева: странные полосы и квадратные персонажи. Wuffers 13 лет назад 0
Скриншот исчез. Заголовок поста должен быть изменен с упоминанием bex-рисунков или геометрических фигур. В любом случае, слово «скриншот» в заголовке - плохая идея. Ludovic Kuty 10 лет назад 0

2 ответа на вопрос

9
Jander

Если у вас есть редактор с поддержкой UTF-8, вы можете напрямую вводить символы рисования блоков Юникод и геометрические фигуры . Что-то вроде:

PS1='┌─[blah][blah] └─▪ ' 

Запишите это в файл, используя ваш редактор, а затем отправьте файл в ваш сеанс bash source ./myfile. Когда вы будете готовы сохранить его, добавьте его в свой файл .bashrc.

Другой, более старый способ сделать это - использовать escape-коды VT100 для переключения на набор символов рисования линий терминала. В этом случае ваша линия PS1 выглядит так:

PS1='\[\e(0\]lq\[\e(B\][blah][blah] \[\e[0\]mq~\[\e(B\] ' 

Команды \[and и \]bash сообщают, что эти части приглашения не печатаются, что помогает ему узнать, где находится курсор при редактировании в командной строке. В \e(0переключается на набор символов рисования линий, и \e(Bпереключается обратно. В режиме рисования линий:

  • я ┌
  • д ─
  • м └
  • ~ это ▪

Вы можете создать полный список, выполнив такие действия, как printf '\e(0 qwertyuiop \e(B \n'в приглашении bash.

Отлично! Я просто скопировал символы, и это работает как шарм! Спасибо! Wuffers 13 лет назад 0
это такая долгожданная информация. я забыл, как они назывались и охотился в течение нескольких недель! не забуду снова! благодарю вас! WhiteRau 6 лет назад 0
0
icyrock.com

Вот очень хорошая выборка разных PS1:

Тот, который вы хотите, это:

Вам придется немного его изменить, но элементы есть. Я предлагаю вам посмотреть здесь для получения дополнительной информации:

Почему-то не получается заставить Clock3 PS1 работать. Я попытался скопировать и вставить код точно, и это не сработало, вообще. Я использую Terminal.app в Mac OS X с кодировкой UTF-8. Wuffers 13 лет назад 0
@Мистер. Мужчина: Вы поставили файл или запустили его? Вы должны получить его. Dennis Williamson 13 лет назад 0
Я получил файл. Когда я это сделал, это дало мне кучу мусора. Wuffers 13 лет назад 0
Причина, по которой это не сработало, заключается в том, что он использует расширенный набор символов IBM BIOS из дней DOS, который поддерживается консолью текстового режима в Linux, но не xterm или Terminal или большинством других эмуляторов терминала. Jander 13 лет назад 0
@ Jander Спасибо за разъяснения и, очевидно, за ответ мистеру Ману! icyrock.com 13 лет назад 0

Похожие вопросы