Показать путь из корня проекта в ZSH Prompt

Если мой pwd ~/repos/blog/app/views/ , я бы хотел показать только blog/app/views в подсказке, то есть хочу показать только корень проекта. Корень проекта – это родительский каталог каталога .git . Есть ли способ, которым я могу это достичь?

One Solution collect form web for “Показать путь из корня проекта в ZSH Prompt”

Вы можете выполнить произвольный код для отображения приглашения, если вы установите опцию prompt_subst . Вам не нужно искать каталог .git каждый раз, когда отображается подсказка: на практике достаточно обновить переменную при каждом изменении текущего каталога, в chpwd hook и использовать эту переменную в приглашении.

 setopt prompt_subst chpwd () { git_root=$PWD while [[ $git_root != / && ! -e $git_root/.git ]]; do git_root=$git_root:h done if [[ $git_root = / ]]; then unset git_root prompt_short_dir=%~ else prompt_short_dir=${PWD#$git_root/} fi } chpwd PS1='${prompt_short_dir}%# ' 
  • Создание псевдонима, отображающего аргументы в середине команды
  • Как я могу сделать свою тему Zsh («fade») хорошо выглядеть в urxvt?
  • Zsh: завершение каталога хеширования
  • Удалить сообщение, отображаемое при каждом запуске ZSH (с установленным oh-my-zsh)
  • Сделать zsh завершение показать первое предположение на той же линии (например, рыбы)
  • ZSH для автоматического заполнения каталогов в аргументах командной строки?
  • Добавление дополнительных привязок к Emacs в редактор строк ZSH (ZLE)
  • Преобразование истории в скрипт?
  • Объединение команды, включающей одиночные и двойные кавычки для другой команды
  • Как я могу подавить пространство между сгенерированными аргументами во время расширения фигурной скобки?
  • Почему мой вывод не завершается в tmux?
  • Interesting Posts

    Не удалось скопировать большой файл на USB-накопитель ext2

    Виртуальный хост-сервер VirtualBox / Vagrant не получает IP-адрес

    / dev / kvm отсутствует в системе, поддерживающей kvm-виртуализацию

    Эмулировать вход джойстика через цифровой вход

    Опирается ли snmp на необходимость использования CUPS?

    Прямой выход в трубу и стандартный вывод

    Добавление соответствующих элементов из двух массивов в новый массив с использованием оболочки csh?

    libtool: error: relink 'libpocketsphinx.la' с указанной командой перед установкой

    Memoize (кэш) для программ командной строки?

    Как остановить сервер emacs

    Как подключить USB-устройство с помощью jmtpfs в Linux (Debian 9)?

    Осуществимость: создание ad-hoc сети, если она еще не существует

    Уведомление из экрана

    Исполняемый файл не отображается при запуске с помощью sudo

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

    Linux и Unix - лучшая ОС в мире.