web-dev-qa-db-ja.com

デフォルトの「読み取り」プログラムを変更するにはどうすればよいですか?

現在、man (something)を実行すると、lessを使用して表示されます。ただし、Mac OS Xでは、タッチパッドではなくタッチパッドでスクロールするのが本当に好きです。 up/down または page-up/page-down ボタン。 lessまたはmoreを使用する代わりに、端末にテキストを出力する方法はありますか?

7
Halst

OSXについてはよくわかりませんが、Unixで十分だといいのですが...

$ HOME /.bashrcに次の行を追加します。

export MANPAGER=cat

すべてのページングプログラムをこのように動作させる場合は、代わりにPAGERを設定します。 manは設定されている場合はMANPAGERを使用し、そうでない場合はPAGERにフォールバックし、設定されていない場合はmoreにフォールバックします。

7
unpythonic

必要な効果を得るには、最初のページから始まるビューで別のウィンドウにmanページを表示し、_~/.bash_profile_に以下を追加します。

_function man {
    mf=`mktemp /tmp/$1-formatted-XXXXXXXXX`
    /usr/bin/man -t "$@" | pstopdf -i -o $mf
    mv $mf $mf.pdf
    open -W $mf.pdf
    rm $mf.pdf
}
_

ログアウトしてから再度ログインしてアクティブ化するか、次のコマンドでファイルをリロードすることができます。

_. ~/.bash_profile
_

後者は、重複した情報でPATH変数のようなものを再定義するリスクがあります。

この関数はmanコマンドをオーバーライドし、一時ファイルにPDF形式のマニュアルページを作成し、それをPDFビューア(デフォルトではプレビュー)で開きます。 )次に、ビューアを閉じるときに一時的なPDFを削除します。デフォルトのPDF表示プログラムは、おそらくタッチパッドに希望どおりに応答します。

一時的なPDFを削除する最後の機能を取得するには、open(1)をPDFビューアが閉じるまで待機させてから続行する必要がありました。これは、次のことができることを意味します。 PDFが開いたままである間、ターミナルウィンドウを使い続けます。これを回避する1つのハックは、_-W_フラグを削除し、openコマンドの後に次のようなものを続けることです。 _sleep 1_、プレビューを開くのに十分な時間です。別のハックは、最後の行を次のようなものに置き換えることです。

_( sleep 60 ; rm $mf.pdf ) &
_

これにより、rmコマンドが将来60秒間、確かに十分な時間スケジュールされます。

7
Warren Young