现在,当我运行时man (something)
,less
用于查看它。然而,在 Mac OS X 上,我真的很喜欢使用触摸板而不是up/down或page-up/page-down按钮滚动。有没有办法只将文本打印到终端而不是使用less
or more
?
答案1
不确定 OSX,但希望它足够 Unix-y...
在 $HOME/.bashrc 中添加以下行:
export MANPAGER=cat
如果您希望所有分页程序都以这种方式运行,PAGER
请进行设置。 如果设置则man
使用MANPAGER
,否则返回到PAGER
,如果未设置则返回到more
。
答案2
为了获得您想要的效果,您可以在单独的窗口中获得手册页,并且视图从第一页开始,请将以下内容添加到您的~/.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
}
您可以注销并重新登录来激活它,或者只需使用以下命令重新加载文件:
. ~/.bash_profile
后者存在重新定义诸如PATH
具有重复信息的变量之类的风险。
此函数会覆盖该man
命令,使其在临时文件中构建 PDF 格式版本的手册页,在 PDF 查看器中打开该文件(默认情况下为预览),然后在关闭查看器时删除临时 PDF。这个想法是,您的默认 PDF 查看程序可能会按照您想要的方式响应触摸板。
为了获得最后一个功能(删除临时 PDF),我必须等到open(1)
PDF 查看器关闭才能继续。这意味着当 PDF 保持打开状态时,您无法继续使用终端窗口。解决这个问题的一种方法是删除该-W
标志并按照open
类似的命令执行sleep 1
,这应该有足够的时间来打开预览。另一个黑客可能是将最后一行替换为如下内容:
( sleep 60 ; rm $mf.pdf ) &
这会将rm
命令安排在未来 60 秒内,当然时间足够了。
答案3
经过谷歌搜索后偶然发现了这个页面。
为了回答原来的问题,less -R
将启用鼠标滚轮/触摸板滚动。
在现代 macOS 中,shell$LESS
变量已-R
默认设置为。如果$PAGER
设置为less
并且滚动对您不起作用,请尝试运行以下命令:
export LESS="-R"
关于沃伦·杨的回答:映射man
到 shell 函数可以更新以使用ps2pdf
它是 Ghostscript 包的一部分(可以通过 Homebrew 安装:)brew install ghostscript
,并对函数进行了一些小的调整(不再有 和 的标志,-i
现在-o
使用-
stdin/stdout)。
function man() {
mf=`mktemp /tmp/$1-formatted-XXXXXXXXX`
/usr/bin/man -t "$@" | ps2pdf - $mf
mv $mf $mf.pdf
open -W $mf.pdf
rm $mf.pdf
}
还可能值得注意的是,文件/tmp
如果过去 3 天内未访问过它们,则会自动清除(至少在现代 macOS 上是这样)。