观察 perldoc 输出保留格式

观察 perldoc 输出保留格式

当我用来watch遵循perlpod我正在编写的文档时,格式会被破坏(请参阅NAMESynopsis部分):

Every 2,0s: perldoc lib/Uki/Handlers/SOS.pm                                                   Tue Apr  8 10:42:43 2014

Uki::Handlers::SOS(3) User Contributed Perl DocumentationUki::Handlers::SOS(3)



N NA AM ME E
       Uki::Handlers::SOS - Studenten-Handler

S Sy yn no op ps si is s
       SOS-spezifische Spezialisierung des Uki::Handlers::Person-Handlers.

我认为这是因为nroff认为输出终端不是 TTY,但我不知道如何告诉它,事实上,它电传打字机。

答案1

nroff你是对的,你的问题是/完成的美化的渲染groff

为了避免这种美化,请绕过nroff/groff并输出您的将文档转换为文本pod2text(这是 Perl distrib 的一部分,所以你应该拥有它):

watch "pod2text <your_perl_withpod_file>"

答案2

阅读手册页我想出了这个解决方案:

watch "perldoc -T -otext lib/Uki/Handlers/SOS.pm"

答案3

“但我丢失了我想保留的格式信息。”

并不是它认为您不在 tty 上,而是它认为您在真的很旧tty 确实通过了重击技巧糟糕的,groff的后端处理器。从手册页:

使用 -c 开关恢复到旧的行为,使用序列“c BACKSPACE c”打印粗体字符 c 并使用序列“_ BACKSPACE c”打印斜体字符 c。同时,颜色输出被禁用。通过设置 GROFF_NO_SGR 环境变量或使用“sgr”X 命令(见下文)可以实现相同的效果。

问题是您不想要-cGROFF_NO_SGR设置,但由于某种原因它认为其中之一或两者都是。

检查您的环境中的GROFF*TERM变量是否有合理的值。

相关内容