syn*_*ror 6 gnu-screen terminal-multiplexer xterm split
有趣的是,这tmux对某些人来说也是一个问题:http :
//daemonforums.org/showthread.php?t=7311
但目前我坚持使用screen,我想知道如何screen在这方面做出“行为”。
除非线条长于窗格的宽度,否则用鼠标选择文本是没有问题的。我已经尝试过:width, 有和没有-w选项。(包装是打开的,否则会看起来像一团糟(:+wrap))
哦,:width对设置非常挑剔。如果你设置的width太高,长的线会导致整个终端来回移动(即如果你的bash提示是user@host $它只会显示为r@host $),看起来非常难看。
选择一条分成几倍窗格宽度的长线将导致以下行为:
|(!),尝试继续该行,就好像它是一个多行脚本(结果bash: syntax error near unexpected token '|':)啊。即使使用鼠标,这也不能以某种方式工作吗?
简短的回答:不,GNU 屏幕不能做到这一点。
长答案:GNU screen 在很大程度上忽略了 xterm 鼠标协议,除了接受鼠标点击的特殊情况(“mousetrack”功能)。
要按照您的建议进行选择需要做更多的工作:
screen仅使用“正常”鼠标协议 (1000),该协议在按下鼠标按钮时发送转义序列,并在释放(任何)鼠标按钮时发送另一个转义序列。screen不会尝试在这方面做任何事情。mousetrack是否打开),都screen依赖于终端来显示选择突出显示。xterm(和其他终端)无法设置选择边距,因此您可以突出显示屏幕的整个宽度。相比之下,tmux用鼠标做的事情更多。它实际上在不同类型的 xterm 鼠标协议之间进行转换,以提供终端之间的差异,例如,在 UTF-8 模式 (1005) 和 SGR (1006) 之间进行选择。
原则上,tmux 可以进行修改以提供增强的选择/粘贴,如本问题所述,因为它可以将 xterm 鼠标模式设置为 1002(单元格运动鼠标跟踪),这将告诉它在哪里绘制自己的突出显示。我没有看到它在源代码中实现,因此您链接到How does tmux selectcontents only in one pane ? 似乎仍然相关。
tmux例如,中的(键盘)复制模式似乎不知道窗格。
也有缺点:
tmux,例如,通常不会被复制到 X 环境中的其他窗口。进一步阅读: