2013-02-06 42 views

回答

3

Ctrl-L綁定到readline命令。但是,在運行尾隨日誌的命令時,bash未接收鍵盤輸入。您可以使用Ctrl-Z暫停尾部,使用Ctrl-L清除屏幕,然後使用fg恢復尾部。

這是獨立於tmux;我不認爲tmux有類似於clear-pane命令的任何內容,而是依靠shell來爲您處理。

+0

這是我最後一件事/功能,我太想念了。今天還不可能嗎? – Autodidact

+0

查看jjungnickel的回答。這是一個內置的tmux命令,它對我來說非常合適。 – kdavh

13

您可以使用send-keys -R清除當前緩衝區,但請記住,在該緩衝區內運行的應用程序不會注意到緩衝區內容已被擦除。

Reference

+2

我這樣做:'bind l send-keys -R;顯示「已清除」 – phoet

+0

這是最終的清除屏幕,實際上對我來說像在OS X上的Terminal.app中的CMD-k: 'bind -n C-k send-keys -R \;發送密鑰C-1 \;清除歷史記錄' –

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將停止顯示原始尾部命令,但這可能很有用,因此如果要在清除後查看它,可以將其刪除。

+0

Cmd + k不在tmux中執行,但綁定確實如此。謝謝! –