質問

私は今あなたが実行したときにも、パーセント記号を表示することを目指し、例えば、コマンド

man emacs

あなたがそれを実行する場合は、例えば 'バイト3300' を取得しています。

アレックスの答えには示唆します私たちがして、別のシェル関数を作成する必要があること

man "$1"| col -b > /tmp/manual
less /tmp/manual

$ 1は最初のパラメータを指します。

<時間>

新たな問題がスレッドのです。 の核心の移動のためYuliyに感謝!

役に立ちましたか?

解決

ソリューション

のknitatoms'回答するの少ない手動バージョン アレックスMarteilliの答えと組み合わせるする 非常によく動作します。そのポケットベルオプションで+Ggするlessオプションを渡す

。 たとえば、してみてください。

man -P 'less -s -M +Gg' man

これは

を置くことによって恒久的に行うことができます
export MANPAGER='less -s -M +Gg'

シェルの設定ファイルのいずれかで(構文上のBashのためのものであり、 ZSH)。今、例えば、man manあなたのようにパーセンテージを表示します 欲しかった!

警告

あなたべきのないLESS変数にOPTIONSを入れて!例えば、 やって

export LESS='-M +Gg'
非常に大きなファイルを読み込むときに

問題が発生します。たとえば、

yes | LESS='-M +Gg' less

は非常にうまく機能しません...

説明

他の回答が説明したとおり、

、問題はman lessが言うことができないということです あなたはそれがどのくらいのファイルを知っているまであるファイルに何パーセント であり、それは読んで、デフォルトではファイルの最後まで読みません パイプから。

gの<=>セクションから:

+      If  a command line option begins with +, the remainder of that
       option is taken to be an initial command to less.   For  exam‐
       ple, +G tells less to start at the end of the file rather than
       the beginning, and +/xyz tells it to start at the first occur‐
       rence of "xyz" in the file.  As a special case, +<number> acts
       like +<number>g; that is, it starts the display at the  speci‐
       fied  line  number (however, see the caveat under the "g" com‐
       mand above).  If the option starts with ++, the  initial  com‐
       mand  applies  to  every file being viewed, not just the first
       one.  The + command described previously may also be  used  to
       set (or change) an initial command for every file.

<=> "ファイルの先頭に戻る" という意味です。

から<=>:

-P pager, --pager=pager
       Specify which output pager to use.  By default, man uses pager
       -s.  This option overrides the $MANPAGER environment variable,
       which in turn overrides the $PAGER environment  variable.   It
       is not used in conjunction with -f or -k.

       The value may be a simple command name or a command with argu‐
       ments, and may use shell quoting (backslashes, single  quotes,
       or  double  quotes).  It may not use pipes to connect multiple
       commands; if you need that, use a wrapper  script,  which  may
       take  the file to display either as an argument or on standard
       input.

他のヒント

export LESS="-m"
LESS実行しているときに

より一般的には、less環境変数はコマンドラインフラグと同等のオプションが含まれていることがありますが、明示的に渡すことができます - ここでは、割合を含め、(より豊かな促すためにそれを伝える-mオプションを、 )あなたが尋ねたように。あなたは$でそれぞれを終了することにより、また、その単一の環境変数内の複数のオプションを渡すことができます。多くの詳細情報については、以下のmanページを参照してください。

編集:少ないがないこと、それはもちろん可能である(ファイル上でそれを呼び出すのではなく、それに配管をしている場合は、例えば、あまり使用しているかによって異なります)%を表示することはできませんもちろん、その場合には、表示されますの合計サイズを知っている - その場合には、それはそれは持っているなけなしの情報を要求されます、例えば、それがどのくらいのテキストを示していますこれまでのところ。例えば、manは配管により、MANPAGERその方法を使用しています。

だから、あなたの特定の必要性は、あなたが「代替ポケベル」を使用する必要があります(というファイルに直接-P呼び出すときより)(環境変数を<=> <=>における%を参照するか、<=を切り替えることであれば>一時ファイルに<=>の出力を保存した後、後者に<=>使用する単純なスクリプトである<=>コマンドライン)に。同様にあなたが<=>の「プリフォーマットページ」オプションを使用して実行するの一時ファイルに、このような書式設定済みのページを解凍するかもしれない - あなたはまだ、さらに深くトリックは、等、等果たしていない限り(これは人間自身の「色付け」を失う可能性<=>などが、これはやや複雑で、「簡単なスクリプト」になり始めている; - 。)

G で先頭に戻り、その後、私だけでmanページの最後に移動シフト + G Linuxの。 (または、 ' ' を使用して、前の位置に戻すことができます)。

以下が、あなたはどのように遠くにファイル経由の割合を表示するのに十分な情報を持っています。 (あなたが長いプロンプトを取得するために-M入力する必要があるかもしれません。)

これは、ハッキングのビットですが、2つだけのキーを押します。これは、OS / X上で動作するかどうかわかりません。

アレックスマルテッリ」の答えに追加するには:

あなたもそれを入力して、実行時に以下に任意のコマンドラインパラメータを渡すことができます注(含む - )、キーを入力しました。だから、あなただけ入力することができます。

-m<Enter>

長いプロンプトを切り替えるには、実行しているあまりに。

これは、例えば、実行時に変更する必要があるオプションのために特に便利です-S(ライン折りたたみオン/オフ)。

で私が使用したライブlessランタイム-M

これは少ないランニングと:プロンプトで "<kbd>Keyboard<kbd> 入力" です。

本当に大きなバッファで、私もそのサイズを「発見」するために最後まで行かなければなりませんでした。 終了およびバックホーム

<時間>

注:私は @sleske のの答えにコメントとして投稿しているだろうが、最後に私が思い出します、コメントは<=>タグをサポートしていません。

私は、私の環境でこれを持っています。それは持っているように、それは一番下に<filename> - Lines X-Y of Z印刷、またはその情報の少なくとも同じくらいでしょう。

export LESS='-P?f%f - .?ltLine?lbs. %lt?lb-%lb.?L of %L.:?pt%pt\%:?btByte %bt:-...'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top