我退出后,如何保留我从男人那里读取的内容?

所以我们使用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。

这些命令是smcuprmcup ,它们被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
  • 阅读分页的输出结果,可以随时使用qman ls | more man ls | more
  • 用模式过滤man内容,并在屏幕上保持匹配的行: man ls | grep somestring man ls | grep somestring

这是2016年,只是打开第二个terminal或选项卡或窗口或阅读在线的人..

即使在我的服务器上(FreeBSD),我也安装了X和xfce。 然后,我为terminal仿真器分配一个大缓冲区(例如10000行),以便我可以完全滚动其中的一个手册页,并使用单独的terminal实例组装命令。 作品一种享受。