我该如何使用 man 而不用 less 呢?

我该如何使用 man 而不用 less 呢?

默认情况下,man用于less输出文本。我怎样才能告诉它只输出到标准输出?我的终端模拟器有滚动条和搜索功能,我想使用它们而不是箭头键。

答案1

实际上它使用环境变量中指定的任何MANPAGER内容PAGER

根据您的man实现和版本,还可能有一个命令行开关来指定寻呼机。

随着人数据库实现我使用以下所有方式工作:

MANPAGER=cat man man

PAGER=cat man man

MANOPT='-P cat' man man

man -P cat man

要永久设置它,只需将其添加到您的~/.bashrc(或 shell 使用的其他初始化文件)中:

export MANPAGER=cat

这也适用于一些较旧的man实现,而MANOPTman-db 特定于:

export MANOPT='-P cat'

(最好不要PAGER这样设置。许多其他应用程序也使用该设置。)

还可能有一个全局配置文件。 man-db 有/etc/man_db.conf/etc/manpath.config。您可以在那里设置:

DEFINE    pager    cat

MANPAGER但不幸的是,只有当或 均未PAGER设置时才会考虑这一点。

答案2

只需将 的输出通过管道传输mancat?

man ls | cat   # useful use of cat

答案3

尝试使用这些命令在没有寻呼机的情况下生成 man 输出。

  • man ls | cat (生成固定宽度)

  • man -P cat ls (生成的可变宽度)

我使用的是 GNU linux 系统

答案4

另一个角度:与Tony的回答类似。

您还可以将 man 输出重定向到文件中,并使用您喜欢的文本编辑器查看它,甚至可以向其中添加书签、注释等。

man bash  > bashman.txt

我有一份 bash 手册页的副本,以及有关 bash 流程控制和 bash 测试标志的部分,在我的 bin 目录中保存为文本文件,这样我就可以将它们直接加载到我的文本编辑器 (kate) 中以供参考。编写 bash 脚本。


警告:根据您的系统和手册页,上述命令可能会导致文件中的信息和控制字符格式化。

为了避免这种情况,请按照以下建议进行操作LESS='+/^TIPS' man man

To  get a  plain  text  version  of a man page, without backspaces and
underscores, try

  # man foo | col -b > foo.mantxt

相关内容