jua*_*aco 193
同样的问题一直困扰着我.这是我提出的最好的.将它放入.tmux.conf文件中:
bind -n C-k clear-history
Run Code Online (Sandbox Code Playgroud)
这将ctrl-k绑定到tmux clear-history命令.绑定后的-n使得您不必发出tmux命令前缀(默认情况下为ctrl-b).我使用bash,所以ctrl-l已经相当于在命令行输入"clear".使用这两个键我得到一个很好的ctrl-l,ctrl-k组合,它将所有滚动缓冲区移出屏幕("清除"),然后删除所有历史记录(tmux"clear-history"命令).
它并不像终端机,iTerm或Konsole的1键组合那样清晰,但它总是比打字历史记录更好.
z5h*_*z5h 54
正如@juanpaco正确陈述的那样,clear-history是清除回滚缓冲区的命令.
我想补充一点,我也希望在同一个命令中清除屏幕上的内容.发出send-keys -R重置(清除)屏幕,所以我在我的使用中使用以下内容.tmux.conf
bind-key b send-keys -R \; clear-history
这会清除屏幕和回滚缓冲区.
Jon*_*Raa 25
这里的每个答案都谈到了添加新的键绑定.
如果你只想偶尔做一下,根本不需要映射......
前缀默认为 <Ctrl-b>
只需键入<prefix>:相关窗格,然后键入clear-history并按Enter键.
关于tmux的一个很酷的事情是你可以运行这样的任何命令......或者在shell /脚本中运行它们tmux command......或者为它们创建一个键盘快捷键.
plu*_*plu 20
如果您想要结合使用CTRL-L清除历史记录,请将其添加到您的~/.tmux.conf:
bind u send-keys C-l \; run-shell "sleep .3s" \; clear-history
Run Code Online (Sandbox Code Playgroud)
如果您在MySQL shell中,这甚至可以工作.
小智 17
我发现使用send-keys -R有点慢 - 这是用一个命令清除屏幕和历史的另一种方法
bind-key C send-keys "clear && tmux clear-history" \; send-keys "Enter"
Run Code Online (Sandbox Code Playgroud)
使用嵌套的tmux调用更为明显
bind-key C send-keys "clear" \; send-keys "Enter" \; clear-history
无法从历史记录中清除屏幕的当前文本 - clear-history命令似乎在一个单独的线程中运行以发送密钥.
Bra*_*rks 11
比大多数方法简单,我只是创建了一个调用的shell脚本cls,并在我想清除屏幕和回滚缓冲区时运行它.
一切都是这样的:
CLS
clear;
tmux clear-history;
Run Code Online (Sandbox Code Playgroud)
如果使用 清除屏幕clear,您可以检查是否TMUX已设置,并相应地创建别名。
将其放入您的 .bashrc 中:
if [[ $TMUX ]]; then
alias clear='clear && tmux clear-history'
fi
Run Code Online (Sandbox Code Playgroud)
发现这在TMUX 2.6中效果最好,清除屏幕,回滚,但保持显示后的提示.
使用Ctrl-L
bind-key -n C-l send-keys C-l \; send-keys -R \; clear-history
Run Code Online (Sandbox Code Playgroud)
小智 6
控制台应用程序中使用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'
Run Code Online (Sandbox Code Playgroud)
这需要alternate-screen启用tmux选项(默认情况下为打开)。
| 归档时间: |
|
| 查看次数: |
65411 次 |
| 最近记录: |