「man」が小文字を区別して一致するように強制できますか?

「man」が小文字を区別して一致するように強制できますか?

マニュアルページを検索すると、大文字と小文字が区別されますが、大文字のみが検索されます。たとえば、一致し、とのみx一致します。これはFedora派生製品でデフォルトで使用されているmanバージョンであり、他のシステムでも使用できます。 私はデフォルトのポケットベルが環境に定義されていません、私のものはまさにそれであり、lessのエイリアスはないと言います。xXXxman-dbman manless -s$LESS$PAGERless

less一人で呼ぶ時の行動ではありません。

x使用するときは、小文字のみが小文字と一致するように強制しますか?xman

答え1

人々は「レス」と呼びます。個人レベルで唯一の制御は、レスを呼び出すオプションです。

Lessの検索大文字と小文字の区別は2つのオプションで制御されます。

  • 有効な場合、-I検索では大文字と小文字が区別されません。aまたはを使用しておよびをA一致させることができます。aA
  • -i有効だが無効な場合、-I検索は大文字と小文字を区別しますが、パターンに大文字が含まれていない場合にのみ適用されます。

Lessのデフォルトオプションを設定すると、-Iマニュアルページ内でもすべての検索で大文字と小文字が区別されません。

Man-dbは環境変数を介してポケットベルに追加のオプションを渡し、LESSLessはコマンドラインオプションと同じ方法で解釈されます。この設定はコンパイル時にハードコードされ、.で始まります-i。 (この値"-ix8RmPm%s$PM%s$"はMan-db 2.6.2に基づいており、このP…$部分はプロンプト文字列です。)

マニュアルページ検索で大文字と小文字を区別しない場合、または常に大文字と小文字を区別したくない場合は、man-db自体で構成することはできません。 Man-dbに現在の値がある場合は、その内容を現在の値に追加するので、環境変数を操作するためのエイリアスまたはmanラッパースクリプトを作成できます。LESS

alias man='LESS="$LESS -I" man'

-iマニュアルページで、デフォルトで検索が常に大文字と小文字を区別するようにこのオプションをオフにするには、次の手順を実行します。

alias man='LESS="$LESS -+i" man'

LESS環境変数を設定して他の値をハードコードすることもできますが、そうすることで値をに設定するMANLESSだけmanで、カスタムヘッダー行(「マンページ」)やその他の便利な機能(特に以下を使用して)が失われます。太字と下線の書式が含まれています)。LESSMANLESSfoo(42)-R

答え2

これは、 less-i(コマンドラインスイッチ)「大文字と小文字を区別しない」モードが機能する方法です(つまり、まだ大文字を区別します)。 Gillesが指摘したように、これを使用するとman-dbにコンパイルされます。

+-iGillesの回答WRTエイリアスまたはカスタム設定に表示されている方法に加えて、MANLESSマニュアルページを開いた後に厳密な大文字と小文字の一致を切り替えることもできます-i(これによりスイッチがオンまたはオフになります)。 「重要」メッセージを検索すると、現在のみx一致します。xXX

Man-dbにはスイッチmanがありますが、-Iこれはマニュアルページの検索に機能します。たとえば、man BASH基本的にbashのマニュアルページを提供しますが、man -I BASHその逆ではありません。

答え3

x「使用時に小文字だけを強制的に一致させますか?」xman

これは一つの方法です

man -Tascii manpage |less

詳細はわかりませんが、roff処理がタグ付けを実行しており、ポケットベルはタグ付きテキストを表示していても、タグ付けされていないテキストと一致しているようです。
とても混乱しています。nroff専門家がパイプラインを説明できることを願っています。

関連情報