linux – 管道到更少-S而不清除命令行历史记录中的输出
所以我想通过将命令的输出传递给|来在终端中为我的自定义bash命令提供水平滚动少-S 但是,如果我这样做,一旦退出较少,命令的输出将不会保留在命令行历史记录中 当你退出时,有没有办法配置less以保持历史记录中的命令输出? 例如.如果你看看git diff,你可以执行水平滚动然后退出但是输出仍然保留在历史记录中,然后你可以输入新的命令……我基本上想要为我的自定义bash命令模拟它.同样在git diff中,它在现场执行水平滚动(即不使用新的屏幕),命令行历史记录仍然可见,而少用它会在自己的屏幕上执行,你将无法看到命令线路历史,而“减少”.是否有可能在较少的情况下模拟这种git diff-like机制? 如果有任何其他解决方案,没有使用更少的随意抛出它 更新的问题 所以假设我这样做:
然后我向右按两次,使其向右滚动两次.然后我按q退出更少.屏幕上保留的输出将是:
但是在git diff中你做同样的事情,然后按q,只有最后一部分(即我滚动到右边的屏幕的最后一部分)
将保留在屏幕上 我如何才能实现这一点 最佳答案
我现在无法访问任何可以运行git diff的内容,但如果我正确地阅读了您的问题和评论,我认为-X选项可以帮助减少.例如
这可以防止在显示输出之前保存和清除屏幕,以及在退出时清除和恢复屏幕. 更新 我拉了一个git工作区,想出了git diff实际上在做什么:
所以git diff没有将选项传递给less.相反,它将LESS环境变量设置为FRSX.这与将-FRSX选项传递给less相同.那么,你得到了-FRSX你需要的东西:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |