任何可以选择显示全屏的 CLI 寻呼机(当出现提示时)?

任何可以选择显示全屏的 CLI 寻呼机(当出现提示时)?

我现在一直在使用less,有一件事我希望它能有所不同。

当我git log --pretty=oneline --abbrev-commit这样做时,它会立即切换到全屏(因为输出很长),而 99% 的时间我只关心前 5 个提交左右。当然我可以做git log --pretty=oneline --abbrev-commit | head -n 5,但这是我想避免的额外工作。

理想情况下,我希望寻呼机首先显示前 N 行,而不清除屏幕并接管。如果我按q,它应该退出并保留那 5 行。如果我按下space(或其他什么),那么它应该切换到全屏,就像通常一样。less -F有点像那样,但不完全一样。我想避免在长输出时跳转到全屏。

我看不出有什么方法可以编写这个脚本。是否有任何替代寻呼机可以或通过某种方式实现它less

答案1

如果你只想要 5 行 git 日志,那么只需使用 git 自己的密钥:

git log --pretty=oneline --abbrev-commit -n5

log命令的按键-n是专门为此设计的。

运行git log --pretty=oneline --abbrev-commit | head -n 5消除了寻呼机的要求。只会head将数据发送到 TTY,同时删除所有转义序列(意味着没有颜色)。


如果您对其他选项感兴趣,不git相关。然后您可以查看能够像tmux或 gnu一样分割屏幕的终端screen。拆分终端窗口,您现在在一个窗口中有两个 shell - 在一个 shell 中运行标准寻呼机,在另一个 shell 中运行其他东西。它实际上是两个(或更多)控制台,但从窗口管理器的角度来看,它仍然是一个带有一组最大化-最小化-关闭按钮的窗口。

Emacs并且vim还能够进行分屏,将一个部分提供给 shell,另一部分提供一些文本。

有一个寻呼机most可以分屏并同时显示多个不同的文件。看起来很像vim,但没有经过编辑。

相关内容