所以我们使用man whatever
来获取使用情况和其他相关的信息,当find相关的信息部分时,我想退出man
屏幕上的信息。 所以我可以用上面的裁判input下一个命令。 但是man
命令退出整个屏幕来恢复类似于vim
的旧屏幕。 有没有办法做到这一点?
我相信这不是关于man
本身,而是关于你select的寻呼机( PAGER
环境variables)与正在使用的terminal相结合。
我猜你的寻呼机可能less
(现在典型的默认寻呼机,并符合说明)。
less
一个选项-X
可能会让你的行为沿着你要找的东西。
-X or --no-init Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clear‐ ing the screen.
例如PAGER="less -X" man man
可以用来testing它,如果你觉得这个行为更好,你可以考虑把PAGER
设置为这个值。
如果你的传呼机(这是非常常见的)运行的更less,你不需要处理修改你的传呼机,只是做I / Oredirect:
man <whatever you want to man> | cat -
这将在terminal上打印一份副本,以便在需要时向上滚动。
不仅如此,像vim
这样的其他文本应用程序也显示出相同的非常烦人的function,我所做的只是删除terminal支持来自terminfo
数据库的相关命令的function。
这些命令是smcup
和rmcup
,它们被devise为允许在cup
命令(光标位置)被允许的情况下接通和移动。
以下是我用来自动化任务的shell函数,它至less可以在Solaris和大多数Linux发行版上运行:
fixterminfo() { ( [[ ! -d /tmp/terminfo ]] && { mkdir /tmp/terminfo || return ; } cd /tmp/terminfo || return TERM=xterm infocmp > xterm.src.org sed -e 's/rmcup=[^,]*,//' -e 's/smcup=[^,]*,//' xterm.src.org > xterm.src if diff xterm.src.org xterm.src then echo xterm terminfo already patched return fi TERMINFO=/tmp/terminfo tic xterm.src if [ -f /usr/share/lib/terminfo/x/xterm ] ; then XTERM=/usr/share/lib/terminfo/x/xterm else if [ -f /lib/terminfo/x/xterm ] ; then XTERM=/lib/terminfo/x/xterm else if [ -f /usr/share/terminfo/x/xterm ] ; then XTERM=/usr/share/terminfo/x/xterm else echo xterm terminfo not found ; return fi fi fi if [ ! -f ${XTERM}.org ] then sudo cp ${XTERM} ${XTERM}.org || return fi cat /tmp/terminfo/x/xterm | sudo dd of=${XTERM} ) }
如果您的terminal条目不回xterm
,则应该用脚本中正确的terminal名称replacexterm
。
您可以将输出传输到cat
命令
man man|cat
或者使用它来代替默认的寻呼机,就像在本例中调用man本身:
PAGER=cat man man
无需修改寻呼机,即可在大多数环境中使用pipe道的解决scheme:
man ls
例子
man ls | cat
man ls | cat
man ls | more
man ls | more
man ls | grep somestring
man ls | grep somestring
这是2016年,只是打开第二个terminal或选项卡或窗口或阅读在线的人..
即使在我的服务器上(FreeBSD),我也安装了X和xfce。 然后,我为terminal仿真器分配一个大缓冲区(例如10000行),以便我可以完全滚动其中的一个手册页,并使用单独的terminal实例组装命令。 作品一种享受。