По умолчанию man
используется less
для вывода текста. Как я могу сказать, чтобы он просто выводил на стандартный вывод? Мой эмулятор терминала имеет полосу прокрутки и функцию поиска, и я хочу использовать их вместо клавиш со стрелками.
На самом деле он использует все, что указано в переменной окружения MANPAGER
или PAGER
.
В зависимости от вашей man
реализации и версии может быть также переключатель командной строки для указания пейджера.
В реализации man-db я использую все следующие способы работы:
MANPAGER=cat man man
PAGER=cat man man
MANOPT='-P cat' man man
man -P cat man
Чтобы установить его навсегда, просто добавьте его в свой ~/.bashrc
(или другой файл инициализации, используемый вашей оболочкой):
export MANPAGER=cat
Это работает и с некоторыми более старыми man
реализациями, хотя MANOPT
это специфично для man-db:
export MANOPT='-P cat'
(Лучше не устанавливать PAGER
этот путь. Этот также используется многими другими приложениями.)
Там также может быть глобальный файл конфигурации. man-db имеет /etc/man_db.conf
или /etc/manpath.config
. Там вы можете установить:
DEFINE pager cat
Но, к сожалению, это принимается во внимание, только если ни то, MANPAGER
ни другое не PAGER
установлено.
~/.bashrc
, Вы можете также обернуть экспорт в условном , так это только устанавливает пейджер , если это уместно терминал / Эмулятор:if [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi
; очевидно заменитеxterm
на соответствующий эмулятор.MANPAGER
. Я использовал слово «к сожалению» для того факта, что поведение также применимо к немуPAGER
, что является общим параметром (используется многими инструментами), и я бы предпочел, чтобы он не переопределял конкретный параметр (используется только одним инструментом), даже если это один - системный уровень.PAGER=cat man
например:alias man='PAGER=cat MANPAGER=cat man'
Просто труба выводить
man
доcat
?источник
man
реализации, что либо: 1) возникает ошибка, 2) отображает коды формата troff в терминале, 3) удаляет все форматирование, 4) работает должным образом.man
кажется, использует пейджер, установленныйMANPAGER
даже тогда, когда выводом является файл или канал. И если пейджер естьless
, то это все хорошо, потому чтоless
ведет себя так, как будтоcat
вывод - это труба ... Но если вы используете что-то другое (например, Vim, который я использую), то это не так хорошо.Попробуйте эти команды для генерации вывода человеком без пейджера.
man ls | cat
(генерируется фиксированная ширина)man -P cat ls
(генерируется переменная ширина)Я был в системе GNU Linux
источник
Другой угол: похож на ответ Тони.
Вы также можете перенаправить вывод man в файл и просмотреть его в своем любимом текстовом редакторе или даже добавить в него закладки, комментарии и т. Д.
У меня есть копия справочной страницы bash, а также только разделы об управлении потоком bash и флагах тестирования bash, сохраненные в виде текстовых файлов в моем каталоге bin, так что я могу загрузить их прямо в свой текстовый редактор (kate) для справки, пока я написание скриптов bash.
Предупреждение: в зависимости от вашей системы и справочной страницы указанная выше команда может привести к форматированию информации и управляющих символов в файле.
Чтобы избежать этого, сделайте как предложено в
LESS='+/^TIPS' man man
:источник