Как стать автором
Обновить

Комментарии 25

А как ведет себя ваш промпт, когда команда не умещается в отведенное ей пустое место?
когда набранный текст его достигает, промпт исчезает. тут все хорошо. неудобно при копировании из консоли, правый промпт тоже копируется.
Не думали о том, чтобы сделать многострочный промпт?
а как это спасет от копирования ненужной информации при, скажем, копировании серии команд с их выводом?
А кому мешает эта ненужная информация?
Хотя если промпт многострочен, то вывод проще редактировать убирая ненужную информацию целыми строками.
Левый тоже копируется, причем во всех шеллах :-)

Если речь идет про многострочные команды, то можно начинать их с комментария, если предполагаешь, что будешь копировать мышью (нахрена, о великий Пикабит?):
am@am $ # \                               [5:41:01] ▸▸▸▸▸▸▸▸▸▹
ls -la \
~/.oh-my-zsh/themes
Левый тоже копируется, причем во всех шеллах :-)

не вопрос, копируется. вот только так исторически сложилось, что информация в нем более интересна для копирования (пользователь, хост, текущая папка) нежели в том, что справа, так как дает некоторый контекст выполнения команды. заряд батарейки (у вас) или текущая ветка и ревизия (у меня) вряд ли заинтересуют кого-либо, кроме нас самих.
Да ну, вы всерьез полагаете, что мировое сообщество заинтересует, что я работаю под аккаунтом am и держу проект в папке ~/Projects/Shit/BloodyAccounting/Ghgh?

:-)
мировое сообщество вполне может обратить внимание на то, от какого пользователя что выполняется (рут? не рут? отдельный пользователь какого-то известного демона?).

кроме того, основной трафик шелловой копипасты у меня наблюдается при общении с коллегами, а не с мировым сообществом. их уже заинтересует и хост, и путь.
Дык а коллег и номер ревизии тогда заинтересует. И мои треугольнички, как визуальный маркер, по которому просто найти предыдущую команду, скользя глазами по длинному копипасту.
Кроме того, коллеги — люди с пониманием, они перетерпят неаккуратность в копипасте моего шелла.
Это не «мой» промпт, это zsh-ный промпт. Я лишь показал, как засунуть туда что-нибудь посерьезнее часов.

Пример многострочного промпта можно увидеть по приведенной ссылке. Также в упомянутой мной библиотеке «oh-my-zsh» есть куча тем с многострочными промптами. Чтобы увидеть, достаточно установить
ZSH_THEME="random"

в ~/.zshrc и поработать чутка.
использую схожую инфу выводя её в GNU Screen что избавляет от перевода коретки при желании посмотреть текущий расклад по зарядке, а не тот что был после выполнения последней команды, ну и не напрягает когда видно сразу несколько консолей и в каждой отображается зарядка)
Чтобы не было проблем с отображением цветов в более старых версиях Zsh, лучше везде использовать конструкцию типа: %{$fg[red]%}
и не забыть подключить модуль color)
Ой, а вы застали дефолтные конфиги зэда, в которых он по умолчанию выключен?

:-)
я застал zsh 4.3.12 в примерах конфига из исходников которого нету упоминания о этом модуле ^_^
ну и в арче у меня по дефолту вроде как нету конфига zsh, так что даже клава не корректно работает
Я, наверное, просто всегда сразу oh-my-zsh накатываю, который все приносит за собой. А как раньше было, при больших деревьях, похоже уже не вспомню :-)
а я о oh-my-zsh только на днях из чьего-то твиттера узнал) а на хабре узнал подробнее что это такое. а то приходилось свой конфиг юзать, боюсь что потеряю и так удобно для себя в жизни никогда так не на строю)
Да, согласен, я в конце (пример вывода статуса последней исполненной команды) им как раз и пользуюсь. Там эти %F, чтобы людей не пугать новыми переменными среды, взявшимися неизвестно откуда.
Возможно, зря. Исправить, как думаете?
НЛО прилетело и опубликовало эту надпись здесь
Изящно, но несчитываемо :-)
Большое спасибо, очень интересное решение! Жаль только, что Адольф не застал этот топик.

А вот и задроты подошли. Мальчик, сосни хуйца.
извиняюсь за некропостинг, натолкнулся на вашу статью только недавно, решил организовать себе что то подобное. Правда, я предпочел циферку, а не бар, но это уже детали. Пара дополнений:
1) Цвет вполне можно обернуть в команды, которые будут работать, пожалуй, везде и всегда
# красный
%{\e[1;31m%}
# желтый
%{\e[1;33m%}
# зеленый
%{\e[1;32m%}

2) Я прочитал, что вы пишите, что код не идеален и т.д. и т.п., но 2 awk все же, как мне кажется, абсолютно лишнее. Можно сразу считать 4ю переменную, а затем обрезать у нее конец строки =)
3) Пожалуй, самое главное. Не знаю, может в убунте оно все так и работает, но в моем случае (ArchLinux) потребовалась обертка всей функции и назначения переменной в precmd() {… }. В противном случае, значение заряда не обновлялось, а для обновления нужно было перезайти в шелл.
Нормально ;-)

Насчет цветов — я в курсе. habrahabr.ru/post/161999
Насчет awk — ну, можно, да. Я с oneliner-awk на «ты», мне так проще.
precmd — чисто арчовая фишка, наверное.

А вообще вам повезло :-)
Мне тут за недовольство тем, что хабр превращается в кросспостинг далеких от IT журналов слили карму на -50 (да, за один комментарий 40 ⇒ -10), так что я утром проснулся и обнаружил, что больше не имею право писать статьи. Первым побуждением было вообще нахрен все былое стереть. Но я себя пересилил и понял, что лучше уж я полностью уйду в english-written segment. Чего, кстати, и всем желаю.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации