Когда я ищу man-страницы, поиск чувствителен к регистру, но только в отношении заглавных букв. Например, x
будет соответствовать, x
а в X
то время как X
только совпадает x
. Это man-db
версия man, используемая в системах на основе fedora по умолчанию и доступная в других. man man
говорит пейджер по умолчанию less -s
. $LESS
не определяется в окружающей среде, мой $PAGER
просто less
, и у меня нет псевдонимов для меньших.
Это не поведение, когда я вызываю сам less
по себе.
Есть ли способ заставить строчные буквы x
соответствовать только строчным x
при использовании man
?
search
man
less
case-sensitivity
лютик золотистый
источник
источник
LESS
переменная окружения-i
.less
у вас есть? У вас есть псевдоним дляless
? Установлены ли LESS или LESSOPEN env? По умолчаниюless
поискx
только совпаденийx
, а неX
echo $LESS
= ничего. Обратите внимание, что регистр не учитывается, но он обеспечивает только чувствительность верхнего регистра. @bdowningalias | grep less
= ничего. Просто заметил, что он применяется только черезman
(это mandb, кстати), однако. Я уверен, что я читал об этом раньше где-то ...Ответы:
Человек зовет Меньше; Единственный контроль на уровне человека - это выбор опций для вызова Меньше.
Чувствительность к регистру при поиске у Less зависит от двух параметров
-I
в действительности, то поиски не чувствителен к регистру: либоa
илиA
могут быть использованы , чтобы соответствовать какa
иA
.-i
действует, но нет-I
, тогда поиск выполняется без учета регистра, но только если шаблон не содержит заглавных букв.Если вы установите
-I
опцию по умолчанию для параметра Меньше, то все поиски будут учитываться без учета регистра даже на страницах руководства.Man-db передает дополнительные параметры на пейджер через
LESS
переменную окружения, которую Less интерпретирует так же, как параметры командной строки. Настройка жестко запрограммирована во время компиляции и начинается с-i
. (Значение по"-ix8RmPm%s$PM%s$"
состоянию на Man-db 2.6.2;P…$
часть - строка приглашения.)Если вы не хотите, чтобы при поиске в справочных страницах учитывался регистр, или если вы хотите, чтобы они всегда учитывали регистр, нет способа настроить это в самом man-db. Вы можете создать псевдоним
man
или скрипт-обертку, который управляетLESS
переменной enviroment, так как Man-db добавляет его содержимое к текущему значению, если оно присутствует:Чтобы отключить эту
-i
опцию и, следовательно, сделать поиск всегда чувствительным к регистру по умолчанию на страницах руководства:Вы также можете жестко запрограммировать другое значение
LESS
, установивMANLESS
переменную среды, но если вы сделаете это, тоman
просто установитеLESS
значениеMANLESS
, вы потеряете пользовательскую строку заголовка («Страница руководстваfoo(42)
») и другие полезности (в частности, сделаете обязательно-R
для жирного и подчеркивания форматирования).источник
Это как
less
«S-i
(переключатель командной строки)„чувствительно к регистру“режим работы (то есть, он по - прежнему чувствителен к верхнему регистру). Как указывает Жиль, использование этого скомпилировано в man-db.В дополнение к способам, указанным в ответе Жиля WRT на установку псевдонима
+-i
или пользовательского параметраMANLESS
, вы можете переключать строгое сопоставление регистра, когда открывается страница руководства-i
(что включает и выключает переключатель); вы увидите немного «Case является существенным в поиске» сообщение и теперьx
только матчиx
иX
только матчиX
.Man-db
man
имеет-I
переключатель, но это относится к поиску страницы руководства - например, по умолчаниюman BASH
выдает страницу руководства по bash, аman -I BASH
нет.источник
"Есть ли способ заставить строчные буквы
x
соответствовать только строчнымx
при использованииman
?"Вот один из способов
Я не знаю подробностей, но
roff
обработка выполняет разметку, и пейджер, кажется, соответствует неотмеченному тексту, даже если он отображает размеченный текст.Очень сбивает с толку, надеюсь,
nroff
гуру может объяснить ход трубопровода.источник
ESC[1m
последовательностей типов).