17

我将 tmux 与 iTerm2 一起使用。

使用 Ctrl-L 清除屏幕在我使用 bash 时有效,但在我跟踪服务器日志时无效。我该如何解决?

4

3 回答 3

16

您可以使用清除当前缓冲区,send-keys -R但请记住,在该缓冲区内运行的应用程序不会注意到缓冲区内容已被擦除。

参考

于 2013-10-17T15:31:11.860 回答
5

在 OSX(终端,我相信 iTerm2)中,CMD+K 清除并删除回滚,但我不确定这在拖尾或 tmux 中是否有效。

几个链接可能有你的答案:

此外,@chepner 建议暂停该命令,这给了我将其添加为键绑定的想法(注意:我已经在 Linux 上对此进行了测试,但我没有 OSX。第一个链接似乎表明clear-history可能有效):

bind-key -n C-l send-keys C-z \; send-keys " reset && fg > /dev/null" \; send-keys "Enter"

将此添加到您~/.tmux.conf可以执行的操作CTRL+l中,这会将所需的键和命令发送到终端以使其自动化。

reset && fg以空格为前缀以将其从历史记录中排除。

停止显示> /dev/null原始 tail 命令,但这可能很有用,因此如果您想在清除后查看它,可以将其删除。

于 2014-07-12T13:20:24.637 回答
5

Ctrl-L 绑定到一个readline命令。但是,当您运行跟踪日志的命令时,bash不会接收键盘输入。您可以使用 Ctrl-Z 暂停尾部,使用 Ctrl-L 清除屏幕,然后使用 恢复尾部fg

这独立于tmux; 我不认为tmux有任何类似clear-pane命令的东西,而是依靠外壳为您处理。

于 2013-02-06T18:52:07.150 回答