Поиск без учета регистра на страницах руководства

18

Есть ли способ искать страницы man без учета регистра? Использование функции поиска «/» соответствует точному регистру.

FazJaxton
источник
5
Нет такой вещи, как «поиск на странице руководства». На самом деле это поиск в пейджере, который отображает справочную страницу. Зависит от manиспользуемой вами реализации и предпочитаемого вами пейджера, но у меня есть export MANPAGER='less -I'.
manatwork
Смысл @ manatwork в том, что -Iзначит --IGNORE-CASE, even if the pattern contains uppercase letters, понимаете man less.
Тердон

Ответы:

18

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

Другие ответы, которые включают изменение командной строки пейджера, верны, но вы также можете вводить, -iкогда выполняется меньше. Из справочной страницы меньше:

- После одной из букв опций командной строки (см. Ниже ОПЦИИ) это изменит настройку этой опции и напечатает сообщение, описывающее новую настройку.

Таким образом, ввод -iwhile в помине меняет настройку так же, как если бы она была указана в командной строке. Я получил подсказку, что это сработает, как выполнить поиск без учета регистра, используя модификатор шаблона, используя less , а затем нашел объяснение на странице руководства.

FazJaxton
источник
13

Только если вы используете заглавные буквы, а не просто буквы нижнего регистра. Например, запустите man bashи попробуйте:

  • /invoc <== без учета регистра
  • /Invoc <== с учетом регистра
  • /INVOC <== с учетом регистра

Поскольку @manatwork выложен в комментариях, вы также можете контролировать это поведение, добавляя export MANPAGER='less -I'в свой ~/.profile. В MANPAGERопределяет переменную , которая программа используется с manкомандой. Эти -Iсредства (от man less):

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the  pattern  contains
          uppercase letters.

Другие релевантные опции: (этот обычно включен по умолчанию):

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase and lowercase
          are  considered identical.  This option is ignored if any upper‐
          case letters appear in the search pattern; in other words, if  a
          pattern  contains  uppercase  letters, then that search does not
          ignore case.

Так что, если вы export MANPAGER="less -I"; man bash, вы должны быть в состоянии искать /iNvOcбез учета регистра.

Тердон
источник
+1 Вы случайно не знаете, как можно принудительно вводить чувствительность к регистру в строчной форме поиска?
Джозеф Р.
@JosephR. man bash | grep -C 5 invocно это обман.
Terdon
Да, не совсем тот ответ, который я искал. Это может стоить другого вопроса само по себе ...
Джозеф Р.
1
@JosephR. по-видимому , вы можете скомпилировать, lessчтобы использовать PCRE, которые могут сработать.
Тердон
Значение «нечувствительный к регистру для нижнего регистра» может быть истинным, только если в командной строке указано «-i». Без этого все поиски чувствительны к регистру.
FazJaxton