我试图在tmux中当前选定的窗格的正下方获取窗格的索引,以便可以从vim调用该窗格上的tmux run-shell
。
假设我的tmux窗格布局如下:
|---------------------------|
| | |
| 0 | 1 |
| | |
|---------------------------|
| |
| 2 |
| |
|---------------------------|
我知道我可以通过运行以下命令获取当前的窗格号:
tmux list-panes | grep "active" | cut -d':' -f1
在这种情况下,我们将其称为0
这是我想到的第一个获取索引的解决方案:
#!/bin/bash
CUR_PANE=$(tmux list-panes | grep "active" | cut -d':' -f1)
tmux select-pane -D
UNDER_PANE=$(tmux list-panes | grep "active" | cut -d':' -f1)
tmux select-pane -U
# In case the script is used on the bottom
# pane and `select-pane` wrapped around
if [ ! $UNDER_PANE -gt $CUR_PANE ]; then
echo "No pane under current."
exit 1
fi
echo $CUR_PANE
echo $UNDER_PANE
但这对我来说似乎是一种快速而肮脏的方法,因为实际上我必须切换到窗格,然后再回到原始窗格。
是否有一种更干净的方法可以将当前窗格保留在tmux中?