Настройте статусный подсказчик команды man, чтобы отображать процент прочтенного.

Вопрос или проблема

Мне нравится, чтобы статусный вывод команды man был настроен. По умолчанию, как указано в его собственной странице man, он выглядит так,

Имя страницы справки(сек) строка x

Но мне предпочтительнее, чтобы он показывал процент прочитанного содержимого. Поэтому я установил переменную окружения, которая управляет выводом, MANLESS, как,

export MANLESS='?pt%pt \%: '

Вывод пустой. Я добавил -P перед ним, как,

export MANLESS='-P?pt%pt \%: '

Нет прогресса, теперь вывод содержит только -P. Поэтому, я напрямую устанавливаю это для каждого вызова, используя опцию -r,

man -r '?pt%pt \%: ' less

Это тоже не помогло. Но этот же вывод, когда установлен в переменную окружения LESS как

export LESS="-P?pt%pt \%"

Каждый прямой вызов less показывает нужный вывод как

x %.

Это не работает только в том случае, когда pager less вызывается через man.

less может показывать позицию в документе в процентах, если он знает, какова длина документа. Когда он используется для отображения страниц man, текст передается ему, поэтому он изначально не знает длины документа – вам нужно прокрутить до конца документа, чтобы less знал, какова его длина.

Вы можете автоматизировать это, сказав less прокрутить до конца и вернуться в начало:

LESS=+Gg man less

Лучше не устанавливать это глобально, это приведет к тому, что less будет загружаться некоторое время при просмотре крупных файлов и нарушит его функциональность при просмотре входящих данных, которые медленно передаются ему или бесконечны. Вместо этого вы можете использовать MANPAGER:

export MANPAGER="less +Gg"
man less

Ответ или решение

Чтобы настроить приглашение статуса команды man для отображения процента прочитанного, необходимо учитывать несколько аспектов, связанных с работой программы less, которая используется для просмотра страниц справки. По умолчанию, less не знает длину документа, если его содержимое подается через man, поскольку текст сначала передается в less через конвейер (pipe). Следовательно, чтобы отобразить процент прочитанного, less должен знать, сколько всего страниц ему нужно отобразить.

Шаги настройки приглашения в man с отображением процента прочитанного:

  1. Установка переменной окружения MANPAGER:
    Установите переменную MANPAGER на "less +Gg", где +G указывает less сразу прокрутить до конца, а затем вернуться в начало. Это действие приведет к тому, что less сможет правильно определить длину документа, обеспечивая возможность отображения процента прочитанного.

    Команда для установки переменной:

    export MANPAGER="less +Gg"
  2. Использование команды man:
    Теперь, после установки переменной MANPAGER, выполнение команды man будет вызывать less с нужными параметрами. Например:

    man less
  3. Проверка результата:
    После выполнения предыдущей команды вы должны увидеть приглашение, на котором отображается процент прочитанного, как вам и нужно.

Важные замечания:

  • Не устанавливайте глобально: Как упоминалось в вашем запросе, не рекомендуется устанавливать LESS=+Gg глобально, потому что это может замедлить запуск less при работе с большими файлами и нарушить функциональность при работе с бесконечными потоками данных.

  • Проверка конфигурации: Убедитесь, что нет других конфигурационных файлов или переменных окружения, которые могут переопределить ваши настройки, таких как .bashrc, .bash_profile, или другие аналогичные файлы конфигурации.

Зачем это нужно?

Настройка отображения процента прочитанного в man позволяет более эффективно работать с документацией, особенно при работе с длинными страницами справки. Это особенно полезно для профессионалов в сфере IT и разработчиков, которые часто обращаются к справочным материалам.

В заключение, использование переменной MANPAGER с параметрами для less — это мощный способ улучшить ваш опыт работы с документацией в Unix-подобных системах, обеспечивая наглядность и удобство работы с большим объемом информации.

Оцените материал
Добавить комментарий

Капча загружается...