有没有办法将 bash 配置为始终页面输出?

有没有办法将 bash 配置为始终页面输出?

我想配置 bash 以分页显示所有命令的输出。本质上,我希望 bash 表现得好像我输入的每个命令都以“| less”结尾。这可能吗?

答案1

你可以这样做:

$ bind '"\C-j": "|less\C-m"'

或者把这个放到你的~/.inputrc

"\C-j": "|less\C-m"

然后,当您想要执行操作时,ls -l|less您可以键入ls -l并按,control-J而不是<enter>

我不建议在 bind 命令(或 .inputrc 文件中)中交换 j 和 m。每次按下时,<enter>您都会被|less添加,这可能非常烦人。

答案2

我不确定这是否可行,但你绝对可以在 .bashrc 中执行如下操作,让事情变得更轻松:

alias p='less'

ll |p然后变成分页列表。

编辑:请注意,这仍然不适用于要发送到 STDERR 的内容。您需要执行以下操作: errorcommand 2>&1 |p

相关内容