我看到了命令“tmux send-keys”,但是有没有办法将输出发送到相邻的窗格

我看到了命令“tmux send-keys”,但是有没有办法将输出发送到相邻的窗格

在 tmux 会话中,我尝试找出是否有一种快速的方法将一些输出从一个窗格发送到并行窗格。

例如,如果我在左窗格(例如 0.0)中,并想将命令的输出发送pwd到右窗格(例如 0.1)。有没有快速的方法可以做到这一点。

如果有答案的话请提前道歉,但是我在 Google 上搜索了很长时间却没有找到任何答案tmux send-keys -t right 'some text'

相反,我想在相邻的窗格中显示输出,有什么办法吗?

答案1

我想在相邻的窗格中显示输出

如果您知道连接到另一个窗格的终端的文件名(tty打印的内容),则可以向其写入。例如:

pwd >/dev/pts/1

但这仅显示器那里有字符;与窗格中运行的任何程序都没有交互。您使用了“显示”一词,但我不确定这是您想要的。该解决方案在没有 tmux 的情况下也可以工作。


如果您想将输出发送到您将在另一个窗格中调用的某个命令的标准输入,那么请使用命名管道:

mkfifo foo
pwd >foo

现在转到另一个 shell(另一个窗格)并读取foo

<foo whatever

这也不依赖于 tmux。


如果您想要将输出粘贴到另一个窗格(例如,使其成为那里的 shell 中新命令的片段):

  1. pwd在源窗格中正常调用。
  2. 进入复制模式并复制输出。有了鼠标支持,只需按住鼠标左键并拖动即可。释放按钮后,所选文本将自动存储在缓冲区中。
  3. 至目标窗格。
  4. paste-buffer使用(默认情况下)粘贴存储的文本prefix]

相关内容