どうすれば人を少なくせずに使用できますか?


21

デフォルトでmanless、テキストの出力に使用します。stdoutに出力するように指示するにはどうすればよいですか?私の端末エミュレータにはスクロールバーと検索機能があり、矢印キーの代わりにそれらを使用したいです。

回答:


31

実際にはMANPAGERPAGER環境変数または環境変数で指定されているものを使用します。

man実装とバージョンに応じて、ページャーを指定するコマンドラインスイッチもあります。

男-DBの実装私はすべての方法以下の作業を使用します。

MANPAGER=cat man man

PAGER=cat man man

MANOPT='-P cat' man man

man -P cat man

永続的に設定するには、~/.bashrc(またはシェルで使用される他の初期化ファイルに)追加するだけです:

export MANPAGER=cat

それはman-db固有ですがman、いくつかの古い実装でも動作しMANOPTます:

export MANOPT='-P cat'

PAGERそのように設定しないでください。他の多くのアプリケーションでも使用されています。)

グローバル構成ファイルもあります。man-dbには/etc/man_db.confまたはがあり/etc/manpath.configます。そこで設定できます:

DEFINE    pager    cat

しかし、残念ながら、どちらMANPAGERPAGER設定されていない場合にのみ考慮されます。


2
いい答えだ。Re ~/.bashrc:、適切なターミナル/エミュレーターである場合のみページャーを設定するように、エクスポートを条件付きでラップすることもできますif [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi。明らかにxterm適切なエミュレータに置き換えてください。
ケビン

1
実際には、manpath.configが後で考慮されるように設計されています。PAGERとMANPAGERはどちらもユーザーレベルであり、構成ファイルはシステムレベルです。システムレベルが優先される場合、ユーザーはまったくオーバーライドできません。
ポール・ド・フリーズ

@PauldeVrieze、あなたは正しいMANPAGER。動作もに適用されるという事実のために「残念」という言葉を使用しました。PAGERこれは一般的な設定(多くのツールで使用)であり、特定の設定(1つのツールでのみ使用) 1つはシステムレベルです。
マナトワーク

単一のツールの特定の設定を上書きしたい場合は、エイリアス、シェル関数、ラッパースクリプトを作成することでいつでも上書きできます。これらのどちらかに達するだろう:PAGER=cat man例えば:alias man='PAGER=cat MANPAGER=cat man'
ポール・ド・Vrieze

6

manto の出力を単にパイプしますcatか?

man ls | cat   # useful use of cat

6
man実装に応じて、1)エラーが発生する、2)端末にtroffフォーマットコードを表示する、3)すべてのフォーマットを削除する、4)期待どおりに動作することに注意してください。
マナトワーク

2
私はそれが4以外の行う見たことがない
キース・トンプソン

@KeithThompson macOS は、出力がファイルまたはパイプmanMANPAGERあっても、設定されたページャーを使用するようです。そして、ページャーがの場合、出力がパイプの場合と同じように動作するlessため、すべて良いです...しかし、他のもの(私が使用するVimなど)を使用する場合、それはあまり良くありません。lesscat
ムル

1

これらのコマンドを試して、ページャーなしでman出力を生成してください。

  • man ls | cat (生成された固定幅)

  • man -P cat ls (生成された可変幅)

GNU linuxシステムを使用していた


1

別の角度:トニーの答えに似ています。

man出力をファイルにリダイレクトして、お気に入りのテキストエディターで表示したり、ブックマークやコメントなどを追加することもできます。

man bash  > bashman.txt

bashのマニュアルページのコピーだけでなく、bashのフロー制御とbashのテストフラグに関するセクションだけをbinディレクトリにテキストファイルとして保存し、テキストエディター(kate)に直接ロードして参照できるようにしますbashスクリプトを作成します。


警告:システムとマニュアルページによっては、上記のコマンドによりファイル内の情報と制御文字がフォーマットされる場合があります。

これを回避するには、次の手順に従ってLESS='+/^TIPS' man manください:

To  get a  plain  text  version  of a man page, without backspaces and
underscores, try

  # man foo | col -b > foo.mantxt

1
@Wildcard-ありがとう。私はそれについて知りませんでした。
ジョー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.