Описание тега cellular-data
В строке escape-последовательность %~
(включен в $current_dir
) раскрывается в текущем каталоге, принимая сокращений в счете. Аббревиатуры:
~
для вашего домашнего каталога;~Джо
на домашний каталог пользователяДжо
;~фу
для именованного КАТАЛОГ: КАТАЛОГ псевдонимФу
схэш -д'ФОО=...
;~[бар]
для динамических именованных каталогов.
Вы можете использовать %/
вместо %~
. Это никогда не использует каких-либо аббревиатура каталога.
Если вы хотите быть необычным, вы можете выполнить свой собственный код, чтобы определить, как отображается текущий каталог. Одним из подходов является использование подстановки параметров в строку запроса. Это требует prompt_subst
возможность быть установлено, что о-мой-ЗШ делает (иначе: setopt prompt_subst
). Текущий каталог всегда доступен в параметре ЛСОВ
. Вот простая версия, которая только укорачивает вашу домашнюю директорию в ~
:
местные current_dir='%{$используя базу[смелый]$ФГ[голубой]%} ${${дуо/#%$дома/~}/#$Главная\//~/}%{reset_color$%}'
${${Дуо/#%$дома/\~}/#$Главная\//\~/}
означает: если $ФРД
точно так же, как $дома
, затем установить результат в ~
, в противном случае укажите результат в $ФРД
; затем, если результат начинается с $дома/
, то заменить этот префикс ~/
, в противном случае оставить результат без изменений.
Более четкий подход, чтобы сохранить параметр, содержащий довольно-печатная версия текущего каталога. Обновление этого параметра в chpwd
крюк функция, которая будет выполняться на каждый текущий каталог. Также инициализировать этот параметр в вашем .zshrc
.
Есть только один chpwd
функцию, поэтому не переопределяют О-мой-ЗШ по. О-мой-ЗШ по chpwd
вызывает функцию в массив chpwd_functions
, поэтому добавлять в массив.
my_update_pretty_PWD функция {
случае $pwd в
$Дома(/*)#) pretty_PWD=\~${дуо#$дома};;
*) pretty_PWD=$дуо;;
эсок
}
chpwd_functions+=(my_update_pretty_PWD)
my_update_pretty_PWD
местные current_dir='%{$используя базу[жирный]$ФГ[голубой]%} ${pretty_PWD}%{$reset_color%}'
Если вы хотите сократить домашние директории пользователей, но не по имени каталогах, вы можете очистить домашний каталог в подоболочку и использовать %
параметра развертывания флага для выполнения автоматического сокращения в подоболочку.
my_update_pretty_PWD функция {
pretty_PWD=$(хэш -РД; принт-ЛР -- ${(%)ФРД})
}
Или, если вы предпочитаете встроенные подхода:
местные current_dir='%{$используя базу[жирный]$ФГ[голубой]%} $(хэш -РД; принт-ЛР -- ${(%)инвалидов})%{$reset_color%}'