Pull to refresh

Comments 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, чтобы людей не пугать новыми переменными среды, взявшимися неизвестно откуда.
Возможно, зря. Исправить, как думаете?
UFO just landed and posted this here
Большое спасибо, очень интересное решение! Жаль только, что Адольф не застал этот топик.

А вот и задроты подошли. Мальчик, сосни хуйца.
извиняюсь за некропостинг, натолкнулся на вашу статью только недавно, решил организовать себе что то подобное. Правда, я предпочел циферку, а не бар, но это уже детали. Пара дополнений:
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. Чего, кстати, и всем желаю.

Sign up to leave a comment.

Articles