我想清除特定tmux窗格中的所有滚动历史。
当前回答
Ctrl-L在控制台应用程序中用于重绘屏幕。我发现当绑定到send-keys -R时,它会导致方向键在某些应用程序(如vim, mc)中不再正常工作。
为了在控制台应用程序中保留重绘功能,我使用了:
bind-key -n C-l if-shell -F '#{alternate_on}' 'send-keys C-l' 'send-keys -R C-l; clear-history'
这需要打开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 2.6中工作得最好,清除屏幕,滚动,但保持提示后显示。
使用ctrl - l
bind-key -n C-l send-keys C-l \; send-keys -R \; clear-history
如果你在OSX上用Iterm挣扎:
为了快速清除单个tmux窗格,你可以设置一个别名…
# Tmux Clear pane
alias tc='clear; tmux clear-history; clear'
正如@juanpaco正确指出的那样,clear-history是清除滚动缓冲区的命令。 我还要补充一点,我喜欢在同一个命令中清除屏幕上的内容。 发出一个send-keys -R会重置(清除)屏幕,所以我在.tmux.conf中使用了下面的代码
-R \;clear-history
这将清除屏幕和滚动缓冲区。
推荐文章
- 如何使制表符4个空间而不是8个空间在纳米?
- 如何强制从另一个SSH会话分离屏幕?
- 如何从终端机发送电子邮件?
- 我如何重命名一个窗格在tmux?
- Git显示“警告:永久添加到已知主机列表”
- Docker- compose无法连接到Docker Daemon
- 如何复制文件跨计算机使用SSH和MAC OS X终端
- 崇高的文本从命令行
- Git bash错误:无法fork子进程:没有可用的终端(-1)
- 使用grep删除空行
- Git在终端提交时打开VIM,但无法返回终端
- 提交指定文件
- 如何在Mac上设置我的默认shell,例如Fish?
- 如何在Linux虚拟机的控制台中上下滚动
- 如何在终端中提高光标速度?