如何在拖尾日志时清除tmux屏幕?

时间:2013-02-06 14:45:31

标签: tmux iterm

我正在使用tmux和iTerm2。

当我在bash时使用Ctrl-L清除屏幕,但在我拖尾服务器日志时不起作用。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:14)

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

Reference

答案 1 :(得分:3)

Ctrl-L绑定到readline命令。但是,在运行用于记录日志的命令时,bash未接收键盘输入。您可以使用Ctrl-Z暂停尾部,使用Ctrl-L清除屏幕,然后使用fg恢复尾部。

这与tmux无关;我认为tmux没有像clear-pane命令那样的东西,而是依靠shell为你处理它。

答案 2 :(得分:2)

在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命令,但这可能很有用,因此如果要在清除后查看它,可以将其删除。