不确定 OSX,但希望它足够 Unix-y ......
在您的 $HOME/.bashrc 中添加以下行:
export MANPAGER=cat
Run Code Online (Sandbox Code Playgroud)
如果您希望所有分页程序都以这种方式运行,请PAGER
改为设置。 man
将使用MANPAGER
if 设置,否则回退到PAGER
,如果未设置回退到more
。
要获得您想要的效果,您可以在单独的窗口中获得一个手册页,视图从第一页开始,请将以下内容添加到您的~/.bash_profile
:
function man {
mf=`mktemp /tmp/$1-formatted-XXXXXXXXX`
/usr/bin/man -t "$@" | pstopdf -i -o $mf
mv $mf $mf.pdf
open -W $mf.pdf
rm $mf.pdf
}
Run Code Online (Sandbox Code Playgroud)
您可以注销并重新登录以激活它,或者使用以下命令重新加载文件:
. ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
后者冒着重新定义PATH
具有重复信息的变量之类的风险。
此函数会覆盖该man
命令,使其在临时文件中构建 PDF 格式的手册页版本,在您的 PDF 查看器(默认为预览)中打开该文件,然后在您关闭查看器时删除临时 PDF。这个想法是,您的默认 PDF 查看程序可能会以您想要的方式响应触摸板。
为了获得删除临时 PDF 的最后一个功能,我必须open(1)
等到 PDF 查看器关闭才能继续。这意味着您无法在 PDF 保持打开状态时继续使用终端窗口。解决此问题的一种方法是删除-W
标志并按照open
命令执行类似的命令sleep 1
,这应该足以让预览打开。另一个黑客可能是用这样的东西替换最后一行:
( sleep 60 ; rm $mf.pdf ) &
Run Code Online (Sandbox Code Playgroud)
这将rm
命令在未来安排60 秒,当然足够了。