gpt4 book ai didi

tmux - 跨不同 tmux 版本启用鼠标支持

转载 作者:行者123 更新时间:2023-12-04 01:08:09 31 4
gpt4 key购买 nike

我管理着多台 Linux 机器,其中一些在存储库中的 tmux 版本为 2.1,而另一些的 tmux 版本低于 2.1。我使用鼠标模式,我知道在 tmux 2.1 中,启用鼠标模式的选项已更改为:

set -g mouse on

由于我使用不同的发行版,每个发行版都有不同的 tmux 版本,因此我想制作一个 .tmux.conf 文件,该文件将根据版本启用适当的鼠标选项。

所以,我在 .tmux.conf 中添加了以下内容:
# Mouse Mode
if-shell "[[ `tmux -V |cut -d ' ' -f2` -ge 2.1 ]]" 'set -g mouse on'
if-shell "[[ `tmux -V |cut -d ' ' -f2` -lt 2.0 ]]" 'set -g mode-mouse on'
if-shell "[[ `tmux -V |cut -d ' ' -f2` -lt 2.0 ]]" 'set -g mouse-resize-pane on'
if-shell "[[ `tmux -V |cut -d ' ' -f2` -lt 2.0 ]]" 'set -g mouse-select-pane on'
if-shell "[[ `tmux -V |cut -d ' ' -f2` -lt 2.0 ]]" 'set -g mouse-select-window on'

不幸的是,这不起作用。 tmux 没有显示任何错误,但也没有启用鼠标模式。

我的逻辑中是否存在一些错误导致此配置无法正常工作?

最佳答案

建立在最后两个答案的基础上,但替换如下 shell 命令。将此添加到主配置:

if-shell "tmux -V |awk ' {split($2, ver, \".\"); if (ver[1] < 2) exit 1 ; else if (ver[1] == 2 && ver[2] < 1) exit 1 }' " 'source .tmux/gt_2.0.conf' 'source .tmux/lt_2.1.conf'

这里使用awk来分割版本号,这段代码更清晰的版本是:
split($2, ver, ".")  #Split the second param and store it in the ver array
if ver[1] < 2) # if it's less than v2.0
exit 1
else
if (ver[1] == 2) # if it's version 2.n look at next number
if (ver[2] < 1) # If the second number is less than 1 (2.1)
exit 1
# else we exit 0

然后将配置拆分为两个配置文件。
lt_2.1.conf包含
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
gt_2.1.conf包含
set -g mouse-utf8 on
set -g mouse on

关于tmux - 跨不同 tmux 版本启用鼠标支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34187900/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com