我看到这个问题我可以将 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