我想清除特定tmux窗格中的所有滚动历史。
当前回答
如果使用clear清除屏幕,可以检查是否设置了TMUX,并相应地创建别名。
把这个放在你的。bashrc中:
if [[ $TMUX ]]; then
alias clear='clear && tmux clear-history'
fi
其他回答
为什么不呢?bind -n C-l send-keys C-l
如果使用clear清除屏幕,可以检查是否设置了TMUX,并相应地创建别名。
把这个放在你的。bashrc中:
if [[ $TMUX ]]; then
alias clear='clear && tmux clear-history'
fi
如果您希望完全清除窗格,另一种选择是暂时将窗格调整为一行,清除历史记录,然后将其调整回来。这应该可以用一个tmux命令链无闪烁地工作。其优点是无论窗格中运行的是什么程序,它都可以正常工作。当然,这使得shell脚本逻辑更加复杂。
bind-key -n F11 run "
if [[ #{window_panes} == "1" ]] ; then
tmux send-keys C-l; sleep 0.1 ; tmux clear-history ;
else
restored_height=$((#{pane_height} + #{pane_at_bottom}));
tmux resize-pane -y 1 \\; clear-history \\; resize-pane -y \${restored_height} ;
fi
"
如果你想结合CTRL-L加上clear-history,添加到你的~/.tmux.conf:
bind u send-keys C-l \; run-shell "sleep .3s" \; clear-history
这甚至适用于MySQL shell。
这里的每个答案都在谈论添加新的键绑定。
如果你只是偶尔想这样做,你根本不需要映射……
Prefix默认为<Ctrl-b>
只需在相关窗格中键入<prefix> +:,然后键入clear-history并按enter。
如果您在命令行上,可以在相关窗格中运行tmux clear-history,以达到同样的效果。
关于tmux的一个很酷的事情是,您可以像这样运行任何命令……或者像tmux命令一样在shell/脚本中运行它们…或者为他们做一个快捷键。