为什么我无法使用我当前拥有的绑定来调整 tmux 中的窗格大小?

为什么我无法使用我当前拥有的绑定来调整 tmux 中的窗格大小?

我试图在 tmux 中设置键绑定,以便我可以调整窗格大小而无需键入整个命令。目前我将其设置为:

bind-key -n S-Left resize-pane -L 1
bind-key -n S-Right resize-pane -R 1
bind-key -n S-Up resize-pane -U 1
bind-key -n S-Down resize-pane -D 1

然而,由于某种原因这不起作用。当我按左移而不带前缀时,它不起作用(因为这就是 -n 和 S 所做的)。有人知道可能出了什么问题吗?我的整个.tmux.conf文件如下:

# Force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf

#set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

#unbind %
bind | split-window -h
bind - split-window -v

# remap prefix to Control + a
unbind C-b
set -g prefix C-a
bind a send-prefix

# copy mode using vi
set-window-option mode-keys vi

bind-key -n S-Left resize-pane -L 1
bind-key -n S-Right resize-pane -R 1
bind-key -n S-Up resize-pane -U 1
bind-key -n S-Down resize-pane -D 1

我实际上尝试了一项新事物,并尝试在 tmux 命令行上单独执行其中一个命令。为了到达那里,我按了 prefix,然后按了:。然后我输入命令:

bind-key -n S-Up resize-pane -U 1

哪个做过工作。现在,不带前缀的向上 Shift 可以调整窗格的大小。但由于某种原因,tmux 配置文件没有被获取......对吧?不确定它可能是什么。


我添加后似乎现在可以工作了:

source ~/.tmux.conf

在文件末尾。然而,这感觉像是一个超级黑客的解决方案。有人知道为什么我需要在 tmux 配置文件中执行如此愚蠢的命令吗?

答案1

tmux您现在肯定已经意识到,“愚蠢的命令”是“读取”默认配置文件的命令。

这是不是调整大小快捷方式的功能所必需的。

答案2

将命令添加到文件末尾不足以实际获取文件,因为需要获取文件才能到达该命令,这实际上会导致双重来源。

更有可能的是,您在两者之间做了一些事情,例如重新启动终端会话并重新启动 tmux(或只是重新启动 tmux),这将触发针对 tmux 配置文件的 source 命令。

source ~/.tmux.conf结尾处的~/.tmux.conf是多余且不必要的。

答案3

我怀疑您打开了一些 tmux 窗口,在这种情况下它将使用旧的配置。你有两个选择:

1. 在启动 tmux 会话之前,获取配置

~~source ~/.tmux.conf

  1. 关闭所有 tmux 窗口并启动新会话

相关内容