web-dev-qa-db-ja.com

「man」ページが狭すぎる(端末サイズを利用していない)

私は最初の「man」ページを作成していて、それを行うためにgroffを使用しています。ただし、「コンパイル」して表示すると、ターミナルで一定量の列しか使用しません。万が一に備えて他のマニュアルページを表示してみましたが、端末の幅に合わせて伸びています。視覚的な例の場合:

---------------------------------------
| stuff(1)             stuff(1)         |
|                                       |
| NAME                                  |
|       a tool to do stuff but          |
|       it isn't really working         |
|                                       |
| DESCRIPTION                           |
|       yadadyadyadyadyadyadydy         |
|       segfwefwefwefwe                 |
|                                       |
|       srgswrgwrg                      |
 ---------------------------------------

...など、うまくいけば、あなたはアイデアを得るでしょう。ほとんどのマニュアルページは全幅を取ります。

今のところ、(groff/nroff "syntax"を使用して)テキストファイルにmanページを書き込んだ後、次のようにします。

groff -Tascii -man ./path/to/man | more
7
n0pe

man man(全幅を使用)を呼び出したときに実行されるgroff呼び出しを確認しました。

$ strace -o log -f -v -s 1024 -e trace=process man man

groff呼び出しを探すと、次のようになります。

$ grep groff log | sed 's/\], \[.*//' 
28721 execve("/usr/bin/groff", ["groff", "-mtty-char", "-Tutf8", "-mandoc",
                                         "-rLL=171n", "-rLT=171n"

Xtermのサイズを変更します。

$ strace -o log2 -f -v -s 1024 -e trace=process  man man
$ grep groff log2 | sed 's/\], \[.*//'
28852 execve("/usr/bin/groff", ["groff", "-mtty-char", "-Tutf8", "-mandoc",
                                         "-rLL=119n", "-rLT=119n"

したがって、-rLLおよび-rLT引数は、コンパイル中にgroffが使用する端末幅に影響を与えると思います。

9
maxschlepzig

スラッシュを含む引数としてmanページを指定すると、manの最新バージョンはDoTheRightThing™になると思います。

man ./stuff.1

1
wfaulk