Emacs(シェル)で `perldoc`を使用する方法は?

Emacs(シェル)で `perldoc`を使用する方法は?

Emacsでプログラミングするときは、マンページをよく参照します。私の環境はSSH経由のテキストベースのEmacsです。

manコマンド(関数)を使用してEmacsで「一般」のマニュアルページを開くことができますが、EmacsでPerl PODドキュメントを使用する(man MAN-ARGS)方法を知りたいです。 (関数)で実行すると(例:)、メッセージを受け取ります説明:perldocperldoc -f packshell(shell &optional BUFFER)

警告:端末は完全に機能しません。

特に、ターミナルラインの数は、Emacs Windowsが提供するものより少なくなります。ターミナルがに設定されているようですが、dumb使用してもTERM=emacs perldoc -f pack24行だけを使用し、lines 1-23プロンプト(続きを要求するポケットベル)が表示されます。LINES私の(外部)端子に103本の回線があっても24に設定されていることがわかります。

明らかにウィンドウのサイズを変更できるので、行数を計算してLINESそれに応じて設定することは、この問題に対する合理的な答えのようには見えません。それにもかかわらず、使用はTERM=emacs LINES=100 perldoc -f packライン24で出力を停止する。

おそらくこれEmacs実際に問題があります。

ベストアンサー1

解決策はとても簡単なようです。perldocオプション-T("これは、出力がポケットベルに送信されず、STDOUTに直接送信されることを指定します。"):

v04:~/src/Perl/OTP> perldoc -T -f pack
perldoc -T -f pack
    pack TEMPLATE,LIST
            Takes a LIST of values and converts it into a string using the
            rules given by the TEMPLATE. The resulting string is the
            concatenation of the converted values. Typically, each converted
            value looks like its machine-level representation. For example,
            on 32-bit machines an integer may be represented by a sequence
            of 4 bytes, which will in Perl be presented as a string that's 4
            characters long.
...
                # pack little-endian 16- and 32-bit signed integers
                $foo = pack('(sl)<', -42, 4711);
                # exactly the same

            The same template may generally also be used in unpack().

v04:~/src/Perl/OTP>

おすすめ記事