我不明白为什么这段代码在tmux if-shell
和run-shell
之间不能等效工作。
is_not_leftmost
为true。如果是这样,那么我们允许该键选择下一个左窗格。
以下内容适用于if-shell
,但不适用于run-shell
。在run-shell
版本中,无论我位于哪个当前窗格中,我都永远无法选择左窗格,因此我认为$is_not_leftmost
的bash评估可能是一个问题。
is_not_leftmost="[ $(tmux display-message -p '#{pane_at_left}') -ne 1 ]"
# Comment out one of the below
bind -n C-h if-shell "$is_not_leftmost" "select-pane -L" "" # works
bind -n C-h run-shell "if [ $is_not_leftmost ]; then tmux select-pane -L; fi" # doesn't work
run-shell
版本有什么问题?