我试图在 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
- 关闭所有 tmux 窗口并启动新会话