小编Flo*_*man的帖子

Tmux:提示选择加入窗格的窗口,同时仍然看到窗口编号和标题?

我经常在 tmux 中加入窗格,并希望创建一个绑定来提示我加入窗口,同时仍然让我看到窗口编号和标题。我的第一种方法是基于这个问题的一个答案:

bind-key < command-prompt -p "create pane from #(tmux list-windows|awk -vORS='  ' '/^[0-9]/{print $1 $2}'):"  "join-pane -s ':%%'"
Run Code Online (Sandbox Code Playgroud)

但是 tmux 不会对其他命令(例如“display-message”)进行插值,并且提示本身占用了状态行,因此我看不到窗口编号和标题。

我的第二种方法是尝试利用选择窗口,它显示一个交互式窗口列表:

绑定<选择窗口“加入窗格-hs %%”

这主要有效,但在我选择时它会占用整个当前窗口。我想做一些像 bufexplore 在 vi​​m 中所做的那样,首先拆分窗口,然后在新窗格中出现一个提示,我选择要拉入的窗口。以下似乎与我想要的非常接近,但我留下了用于显示提示的窗格:

bind < split-window -h \; choose-window 'join-pane -hs %%'
Run Code Online (Sandbox Code Playgroud)

我会移动窗口,但是,据我所知,您不能将窗口移动到窗格(或在不加入的情况下根本无法移动窗格),并且以下操作不起作用:

bind < split-window -h ; choose-window 'move-window -s %%'
Run Code Online (Sandbox Code Playgroud)

我怀疑该方法涉及以下操作序列:

  1. 拆分窗口
  2. 选择窗口(窗格)
  3. 连接窗格
  4. 杀死前一个窗格(包含选择窗口提示的窗格)

但是,当我尝试执行以下操作时:

split-window -h ; choose-window 'join-pane -hs %%' ; kill-pane -t.-1
Run Code Online (Sandbox Code Playgroud)

被杀死的窗格是我开始使用的窗格,而不是用于显示提示的窗格。实际上,更改 kill-pane 的值或首先发出 select-pane 似乎没有什么区别。

也许这无法完成,也许有一种方法可以将窗口/0 窗格移动到新窗格,但我无法弄清楚。也许有一些交互式命令和调用的组合

run "tmux <command> etc etc …
Run Code Online (Sandbox Code Playgroud)

tmux

7
推荐指数
1
解决办法
2321
查看次数

标签 统计

tmux ×1