web-dev-qa-db-ja.com

manページでの大文字と小文字を区別しない検索

大文字と小文字を区別せずにmanページを検索する方法はありますか? 「/」検索機能を使用すると、大文字と小文字が完全に一致します。

18
FazJaxton

他のページャーが指定されていない場合、manlessを使用してマニュアルページを表示します。

ページャーのコマンドラインの変更に関するその他の回答は正しいですが、lessが実行されているときに-iと入力することもできます。 lessのmanページから:

- コマンドラインオプション文字の1つが後に続き(下記のオプションを参照)、これはそのオプションの設定を変更し、新しい設定を説明するメッセージを出力します。

したがって、-iと入力すると、コマンドラインで指定する場合と同じ方法で設定が変更されます。私はこれが lessを使用したパターン修飾子を使用して大文字と小文字を区別しない検索をどのように行うのか からヒントを得て、manページで説明を見つけました。

18
FazJaxton

大文字を使用する場合のみで、小文字のみを使用する場合は使用できません。たとえば、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を検索できるはずです。

13
terdon