Linux tmux引脚,以避免滚动

Linux tmux引脚,以避免滚动,linux,tmux,Linux,Tmux,通常,当我运行一个写入stdout的命令,但该命令失败时,我必须向上滚动(使用令人不舒服的键绑定)查找我按下Enter键的位置,以查看第一个错误是什么(在数百个其他错误中,跨多个文本屏幕)。这既烦人又费时。我希望有一个功能允许我将当前终端固定到我现在所在的位置,然后启动命令,只查看输出的第一行(尽可能多地位于光标下方),并允许写入输出的其余部分,但不显示。换句话说,我希望有一个功能允许我自动向上滚动到发出命令的位置,以查看输出的第一行(通常显示故障的根源) 我找过了,但没找到。你知道这种特性是否

通常,当我运行一个写入stdout的命令,但该命令失败时,我必须向上滚动(使用令人不舒服的键绑定)查找我按下Enter键的位置,以查看第一个错误是什么(在数百个其他错误中,跨多个文本屏幕)。这既烦人又费时。我希望有一个功能允许我将当前终端固定到我现在所在的位置,然后启动命令,只查看输出的第一行(尽可能多地位于光标下方),并允许写入输出的其余部分,但不显示。换句话说,我希望有一个功能允许我自动向上滚动到发出命令的位置,以查看输出的第一行(通常显示故障的根源)


我找过了,但没找到。你知道这种特性是否存在吗?或者知道如何使用一些技巧或解决方法来实现它?

如果您有一个唯一的shell提示符,您可以绑定一个键在shell提示符之间跳转,例如,类似这样的操作将使
C-b S
跳转到上一个shell提示符,然后
S
后续提示符:

bind S copy-mode \; send -X search-backward 'nicholas@myhost:'
bind -Tcopy-mode S send -X search-backward 'nicholas@myhost:'
或者类似地,如果错误字符串具有可识别的前缀,则可以搜索它们。如果安装tmux 3.1候选发行版,则可以搜索正则表达式

或者,您可以使用
capture pane
将整个历史加载到具有您喜欢的键绑定的编辑器中,例如:

$ tmux capturep -S- -E- -p|vim -
或者通过管道连接到
grep
或其他任何地方。注意:您需要使用一个临时文件来处理emacs


或者试着养成习惯,将大量输出的命令输入到一个文件中。

Hm。。。我使用的是带有最小提示的zsh主题(我不喜欢复杂的主题)。我的tmux版本是2.6。是的,我知道我可以用管道把这个传给更少的人,T或者vim,但那太不舒服了。似乎所有这些都没有多大帮助…我看到的唯一解决方法是在命令前面加上一些“echo myname&”,然后向后搜索。但这也不太好。没有什么神奇的方法可以做到这一点,你需要在提示符中添加一些可识别的内容,或者编写帮助器脚本或别名来打印标记,或者让加载到编辑器中更方便。一些终端,如iTerm2,有一种通过嵌入转义序列来无形地标记提示的方法,但tmux不支持这一点,尽管我并不反对有人编写它:-)。也许我会为此创建一个拉取请求:-)不。请再次阅读问题。