我想清除特定tmux窗格中的所有滚动历史。
当前回答
这个问题已经困扰我很久了。这是我能想到的最好的。把这个放到你的.tmux.conf文件中:
bind -n C-k clear-history
这将ctrl-k绑定到tmux clear-history命令。bind后的-n使您不必发出tmux命令前缀(默认情况下是ctrl-b)。我使用bash,所以ctrl-l已经相当于在命令行输入“clear”。使用这两个键,我得到了一个很好的ctrl-l, ctrl-k组合,它将所有滚动缓冲区移出屏幕(“clear”),然后删除所有历史(tmux“clear-history”命令)。
它不像Terminal、iTerm或Konsole的一键组合来清除,但它比一直输入清除历史记录要好得多。
其他回答
这个问题已经困扰我很久了。这是我能想到的最好的。把这个放到你的.tmux.conf文件中:
bind -n C-k clear-history
这将ctrl-k绑定到tmux clear-history命令。bind后的-n使您不必发出tmux命令前缀(默认情况下是ctrl-b)。我使用bash,所以ctrl-l已经相当于在命令行输入“clear”。使用这两个键,我得到了一个很好的ctrl-l, ctrl-k组合,它将所有滚动缓冲区移出屏幕(“clear”),然后删除所有历史(tmux“clear-history”命令)。
它不像Terminal、iTerm或Konsole的一键组合来清除,但它比一直输入清除历史记录要好得多。
发现这在TMUX 2.6中工作得最好,清除屏幕,滚动,但保持提示后显示。
使用ctrl - l
bind-key -n C-l send-keys C-l \; send-keys -R \; clear-history
如果您希望完全清除窗格,另一种选择是暂时将窗格调整为一行,清除历史记录,然后将其调整回来。这应该可以用一个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
"
为了快速清除单个tmux窗格,你可以设置一个别名…
# Tmux Clear pane
alias tc='clear; tmux clear-history; clear'
如果使用clear清除屏幕,可以检查是否设置了TMUX,并相应地创建别名。
把这个放在你的。bashrc中:
if [[ $TMUX ]]; then
alias clear='clear && tmux clear-history'
fi
推荐文章
- 如何清除tmux中的滚动缓冲区?
- 在tmux中保持窗口名称固定
- 如何发送一个命令到所有窗格在tmux?
- (Mac) -bash: __git_ps1:命令未找到
- 在Bash中重用上一个命令的输出
- 临时更改bash中的当前工作目录以运行命令
- 如何断开tmux中的所有其他用户?
- 在tmux模式中丢失vim配色方案
- 在Ubuntu中创建一个目录的符号链接
- 在Python中清除终端
- 使用scp将文件复制到Amazon EC2实例?
- 在安装Homebrew后,我得到' zsh:命令未找到:brew '
- Adb命令未找到
- npm install -g less does not work: EACCES:权限被拒绝
- 如何在OS X上编辑$PATH (.bash_profile) ?