fleetingbytes Asked: 2023-11-11 17:24:47 +0800 CST2023-11-11 17:24:47 +0800 CST 2023-11-11 17:24:47 +0800 CST 限制 man 的列数(或更少) 772 我经常在控制台中使用手册页(没有 GUI),但我使用的宽屏幕在文本模式下确实有很多列。行太长,读起来不舒服。 man有没有办法限制(或,哪个人在内部使用)使用的列数less? man 1 个回答 Voted Best Answer Kusalananda 2023-11-11T18:08:29+08:002023-11-11T18:08:29+08:00 假设您使用的是动态格式化手册的 Linux 系统,请将COLUMNS或MANWIDTH环境变量设置为您想要的行宽: COLUMNS=72 man ... 您可能希望MANWIDTH在 shell 的启动文件中设置一个合理的值,COLUMNS除此之外许多其他程序也使用该值man: export MANWIDTH=72 在使用 的系统上,与选项 一起mandoc使用,其中是您想要使用的宽度。系统使用默认宽度,因此获得过长的行通常不是问题;我只是在这里提到它,以防您想将宽度修改为更窄的值。man-O width=7272mandoc78 在这些系统上,您可以为交互式 shell 定义一个别名,如下所示: alias man='man -O width=72' ...或重载名称的 shell 函数man: man () { command man -O width=72 "$@" } 穷人的选择是在将文本通过管道传输fold到以下位置之前先将其传递less: man ... | fold -s -w 72 | less 这会在显示输出 man之前折叠第 72 列或之前的最后一个空格处的输出。是一个标准的 Unix 实用程序。lessfold 管道可以用重载名称的 shell 函数来表示,man如下所示: man () { command man "$@" | fold -s -w 72 | less } 尽管不是标准的,但该实用程序很常见,并且可能比折叠长线的实用程序fmt做得更好。fold替换上面管道中fold -s -w 72的fmt -w 72来尝试一下。
假设您使用的是动态格式化手册的 Linux 系统,请将
COLUMNS
或MANWIDTH
环境变量设置为您想要的行宽:您可能希望
MANWIDTH
在 shell 的启动文件中设置一个合理的值,COLUMNS
除此之外许多其他程序也使用该值man
:在使用 的系统上,与选项 一起
mandoc
使用,其中是您想要使用的宽度。系统使用默认宽度,因此获得过长的行通常不是问题;我只是在这里提到它,以防您想将宽度修改为更窄的值。man
-O width=72
72
mandoc
78
在这些系统上,您可以为交互式 shell 定义一个别名,如下所示:
...或重载名称的 shell 函数
man
:穷人的选择是在将文本通过管道传输
fold
到以下位置之前先将其传递less
:这会在显示输出
man
之前折叠第 72 列或之前的最后一个空格处的输出。是一个标准的 Unix 实用程序。less
fold
管道可以用重载名称的 shell 函数来表示,
man
如下所示:尽管不是标准的,但该实用程序很常见,并且可能比折叠长线的实用程序
fmt
做得更好。fold
替换上面管道中fold -s -w 72
的fmt -w 72
来尝试一下。