如何为tmux绑定快捷键实现窗口左右移动?解决swap-window格式支持问题
tmux窗口移动快捷键配置问题
目标: 在tmux中绑定Ctrl+Shift+PgUp[PgDn]快捷键,使当前窗口索引增加[减少]1,实现类似浏览器标签页的移动效果,本以为是简单问题,可能自己复杂化了。
问题: swap-window命令没有-F标志选项,因此无法识别tmux格式(表达式)
已尝试的操作
user@host ~> # 当前窗口索引为1 user@host ~> tmux display -p '#I' 1 user@host ~> tmux set -F @next_window '#{e|+|:#I,1}' user@host ~> tmux display -p '#{@next_window}' 2
尝试使用的tmux特性
手册页格式规则:
某些命令接受带格式参数的-F标志。这是一个控制命令输出格式的字符串。格式变量包含在‘#{’和‘}’中,例如‘#{session_name}’。可用变量如下表所示,也可以使用tmux选项的名称来获取选项的值。一些变量有更短的别名,例如‘#S’;‘##’会替换为单个‘#’,‘#,’替换为‘,’,‘#}’替换为‘}’。
表达式计算功能:例如,要在格式中计算10减5,可使用
#{e|-|:10,5}
逻辑上的配置尝试
# 重新排序窗口 set -f @next_window '#{e|+|:#I,1}' set -f @previous_window '#{e|-|:#I,1}' bind C-S-PgUp swap-window -d -t '#{@next_window}' bind C-S-PgDn swap-window -d -t '#{@previous_window}'
但如前所述,swap-window没有-F标志选项,因此执行swap-window -d -t '#{e|-|:#I,1}'会提示can't find session: #{e|-|,执行swap-window -d -t '#{@foo}'会提示can't find session: #{@foo}
内容的提问来源于stack exchange,提问作者netcat_dd
相关产品推荐
相关产品推荐

