Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Если верить статистике MacOS,то топовые приложения которые я использую для работы это Chrome, VS Code, iTerm и VK Teams. При этом в консоли я провожу от часа до трех ежедневно. На самом деле это время больше, потому что часть того что трекается как VS Code тоже является временем работы в консоли, только встроенной в VS Code. Поэтому консоль хочется сделать удобнее и красивее. Особенно этой поздней осенью. Этими красивостями и удобностями и хочется поделиться. И не просто поделится, а что бы с красивыми картинками, некоторые из которых были бы не совсем статичны. Ну или совсем не статичны. Это как кому нравится.
Zsh / Oh My Zsh / powerlevel10k
Zsh / Oh My Zsh / powerlevel10k
Небольшой пример работы этой связки с пояснениями и картинкой
Набираем команду cd и плагин https://github.com/zsh-users/zsh-autosuggestions сразу предлагает нам серым подсказку из истории командной строки (без всяких нажатий Ctrl + r, хочется это особо отметить), жмем стрелочку вправо и enter и переходим в каталог.
Тема понимает что мы в гит бранче выписанной с gitlab и меняет значок на githlab и так же показывает бранчу в которой мы сейчас находимся
Экспортируем конфиг доступа к кластеру k8s и тема начинает справа показывать имя этого кластера. Показало бы еще и namespace если мы были не в default.
Пытаемся посмотреть несуществующий каталог и зеленая галочка справа меняется на крестик на красном поле с цифрой кода выхода программы
Эмулируем долгое выполнение команды через sleep 10 c включенной настройкой command_execution_time в powerlevel10k. После выполнения команды появляется еще одно поле, с песочными часиками, которое показывает время выполнения этой самой команды
Вообще в ~/.p10k.zsh можно очень много всего включить, советую почитать на предмет интересующих опций прямо в нем. Например там можно:
показывать текущее окружение python venv, anaconda, node, ruby, etc
показывать текущий кластер и контекст k8s
показывать текущий профиль AWS / Google Cloud / Azure
показывать ip, место на диске, загрузку cpu, статус батарейки, скорость wifi
и это далеко не полный список
Ripgrep
https://github.com/BurntSushi/ripgrep
Очень очень быстрая замена grep
Игнорит то что указано в .gitignore/.ignore/.rcignore
Может искать только в файлах с нужными расширениями, например yaml -
rg 'something' -tyaml
полная поддержка Unicode включая emoji. Да, можно искать