我想配置 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