如何在执行任何其他命令之前执行“清除”bash命令?

如何在执行任何其他命令之前执行“清除”bash命令?

我看到这个问题我可以将 bash 配置为在控制台中输入每个命令之前执行“clear”吗?,但其中的答案对于 GNU bash 版本 3.2.53(1)-release (x86_64-apple-darwin14) 无效。那里给出的答案的问题是命令的输出在可以读取之前被清除。这是一个非常流行的 bash 版本,因为它是在 mac os X 上发布的。由于缺乏代表点,我无法评论那里的最佳答案,所以我唯一的选择是提出一个新问题。

想要此功能的原因是我使用的许多命令(例如“git status”)都有多行输出。当多行命令连续运行时,自动分离屏幕上的文本块并不容易。

有谁知道如何在指定的 bash 版本上完成此功能?

答案1

这是一个方法。它假设您有默认的键绑定。

bind '"\C-m": "\C-l\C-j"'

拦截\C-m‘Enter’键,\C-l( Ctrl+L)执行Bashclear-screen函数,\C-j执行Bashnewline-and-indent函数;所以该命令将 Enter 键绑定到 Ctrl+L 和 Ctrl+J

相关内容