gpt4 book ai didi

tmux 拆分窗口而不改变焦点

转载 作者:行者123 更新时间:2023-12-04 18:37:24 24 4
gpt4 key购买 nike

有没有办法在不改变当前焦点的情况下在 tmux 中拆分窗口?

我正在我的一个 tmux Pane 中运行一个脚本,该脚本偶尔会运行“tmux split-window ...”,其中一些命令需要一分钟才能完成并可能请求输入。

我最终可以尝试在其中一个 tmux Pane 中输入输入,但在我输入的过程中,原始 Pane 执行“tmux split-window ...”并且(中间词)我的光标移到新 Pane ,然后我最终将输入的一部分输入到错误的 Pane 中。

最佳答案

备注 : 这个答案是正确的,但已经过时了。正确的方法是使用-d标志为 split-window命令。我将这个答案作为演示如何使用 tmux 进行剃须。

一个 split-window tmux 提供的命令标志将是正确的解决方案。不幸的是 tmux 没有提供这样的命令标志。 更新 : 有一个 -d split-window这样做的标志。

  • 简单的解决方案是在 split-window 之后立即切换到上一个 Pane :
    tmux split-window
    tmux last-pane

    这也可以写成一行:
    tmux split-window\; last-pane

    该解决方案的缺点是*理论上*如果您在 split-window 之间的时间间隔内键入字符,最终可能会在错误的窗口中写入字符。和 last-pane命令执行。
  • 这是另一种方法,缺点是它更复杂。

    在后台新建一个窗口,得到pane_id这个窗口的(注意这个命令是如何包装在 $(...) 中的,因为我们希望它在子进程中执行:
    pane_id=$(tmux new-window -d -P -F "#{pane_id}")

    现在将我们刚刚创建的窗口与光标所在的窗口合并(不会改变光标焦点):
    tmux join-pane -b -t "$pane_id"

    添加 -hjoin-pane如果您想要水平拆分,请参见上方。

  • 我建议采用第一种方法,因为它很简单。您不太可能遇到任何实际问题。

    关于tmux 拆分窗口而不改变焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386577/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com