加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

tmux分割窗口没有改变焦点

发布时间:2020-12-14 01:02:21 所属栏目:Linux 来源:网络整理
导读:有没有办法在不更改当前焦点的情况下拆分tmux中的窗口? 我正在我的一个tmux窗格中运行一个脚本,偶尔运行“tmux split-window …”,其中一些命令需要一分钟才能完成并且可以请求输入. 我最终可能会尝试在其中一个tmux窗格中输入输入,但在我打字的过程中,原始
有没有办法在不更改当前焦点的情况下拆分tmux中的窗口?

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

我最终可能会尝试在其中一个tmux窗格中输入输入,但在我打字的过程中,原始窗格执行“tmux split-window …”和(mid word)我的光标移动到新窗格,而我最终在错误的窗格中输入部分输入.

解决方法

注意:这个答案是正确的,但已经过时了.正确的方法是使用-d标志来实现split-window命令.我将离开这个答案作为演示如何用tmux做一些牦牛剃须.

由tmux提供的拆分窗口命令标志将是正确的解决方案.不幸的是,tmux没有提供这样的命令标志.更新:有一个-d split-window标志可以执行此操作.

>简单的解决方案是在拆分窗口后立即切换到上一个窗格:

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"

如果要进行水平拆分,请在上面的连接窗格中添加-h.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读