マニュアルページでの大文字と小文字を区別しない検索


18

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


5
「manページで検索」のようなものはありません。実際、manページを表示するのはページャーでの検索です。man使用する実装と好みのページャーに依存しますが、私は持っていexport MANPAGER='less -I'ます。
マナトワーク

@manatworkのポイントは、-Iという--IGNORE-CASE, even if the pattern contains uppercase lettersことman lessです。
テルドン

回答:


18

他のページャーが指定されていない場合、manページの表示にman使用lessします。

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

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

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


13

小文字を使用する場合ではなく、キャップを使用する場合のみ。たとえば、実行man bashしてみてください:

  • /invoc <==大文字と小文字は区別されません
  • /Invoc <==大文字と小文字が区別されます
  • /INVOC <==大文字と小文字が区別されます

@manatworkがコメントに記載されているように、に追加export MANPAGER='less -I'することでこの動作を制御することもできます~/.profileMANPAGERプログラムを用いて使用される変数を定義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すべて小文字の検索パターンで大文字と小文字を区別する方法を知っていますか?
ジョセフR.

@JosephR。man bash | grep -C 5 invocしかし、それは不正行為です。
テルドン

ええ、私が探していた正確な答えではありません。これは価値が独自に別の質問...かもしれ
ジョセフ・R.

1
@JosephR。どうやら、あなたlessはトリックを行うかもしれないPCREを使用するようにコンパイルすることができます。
テルドン

コマンドラインで「-i」が指定されている場合にのみ、大文字小文字を区別しない小文字がtrueになります。これがないと、すべての検索で大文字と小文字が区別されます。
FazJaxton
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.