Где находятся пресеты подсказок zsh?

Вы можете получить метки времени с помощью findс -printfили с помощью statи отсортировать их, чтобы получить самые старые. Затем вычтите то, что вы хотите, и используйте его в качестве спецификации даты для touch. findимеет тот недостаток, что печатает доли секунды, которые необходимо удалить для расчета.

oldest=$(stat -c "%Y" dir/*|sort|head -1)
touch -d "@$((oldest-1))" dir/file
# or touch -d "@$((oldest-60))" file # subtract 1 min to see the difference in normal ls -l output.

Синтаксис даты -d @seconds-since-epochподдерживается GNU touch. Это не указано в POSIX.

Команда statне указана в POSIX, она является частью GNU coreutils, см.https://stackoverflow.com/questions/27828585/posix-analog-of-coreutils-stat-command.

Таким образом, это решение должно работать в системах Linux, но, возможно, не в обычных системах UNIX.

3
27.05.2021, 11:55
2 ответа
% autoload -Uz promptinit && promptinit  # Initialize the prompt system
% prompt -p                              # Preview the included prompts
...
% # Get the source file of a particular prompt:
% zmodload zsh/parameter
% print $functions_source[prompt_fade_setup]
/usr/share/zsh/5.8/functions/prompt_fade_setup
%
2
28.07.2021, 11:28

Эта promptкоманда поставляется с zsh и описана в руководстве . К сожалению, он отсутствует в указателе функций , но его можно найти с помощью полного -текстового поиска :man zshall, а затем поиска^ *prompt (слова «подсказка» в начале строки ). или, чтобы получить меньше нерелевантных совпадений,^ *prompt [^ a-z](исключите места, где за ним следует другое слово ). Это часть вклада пользователя тем подсказки .

В руководстве объясняется, как написать собственную тему приглашения . Тема подсказки определяется функцией настройки, соответствующей шаблону именования prompt_name_setup, который должен загружаться автоматически. Код темы приглашения официально не поддерживает динамическую регистрацию темы приглашения, хотя, глядя на исходный код, вы можете сделать это, добавив имя функции настройки (, которая должна соответствовать шаблону именования ), к prompt_themes. массив после запуска promptinit.

Чтобы узнать, где находятся доступные темы подсказок, посмотрите, откуда загружаются функции prompt_*_setupиз :

.
echo $^fpath/prompt_*_setup(N)

Каждое из них является определением функции, которое вы можете прочитать.

3
28.07.2021, 11:28

Теги

Похожие вопросы