在 tmux 中调整窗格大小无法使用热键,Arch?

在 tmux 中调整窗格大小无法使用热键,Arch?

我在窗格之间移动分隔线的常规命令在 tmux 中不再起作用。我从 Debian 系统切换到 Arch 系统。为什么 Arch 会有所不同? tmux 中的终端是“screen”。我通常从虚拟控制台启动 tmux。我的系统上目前没有运行窗口管理器。

例如,这些热键都不起作用:

Ctrl-down arrow
Alt-down arrow
Shift-Ctrl-down arrow

我在 tmux conf 中设置了以下绑定:

bind-key -n C-S-Down resize-pane -D 15
etc.

但如上所述,它不起作用,尽管它在我的旧系统中运行良好。我知道 tmux conf 一般工作正常,因为 conf 中的所有其他设置都工作正常。

请注意,完整命令确实可以正常工作。换句话说,如果我这样做:

:resize-pane -D 15

它确实有效。如何进一步诊断问题?

答案1

这几乎肯定是 tmux 外部终端的问题。您没有提及它是什么,但很可能它不支持这些键,或者 tmux 外部的术语与终端不匹配,或者不包含这些键。所以:

1) 确保 tmux 之外的终端发送这些键的唯一内容。您可以通过在cattmux 外部运行然后按例如C-Down并确保您看到的内容与按时不同来进行检查Down。如果不这样做,则终端不支持这些键。

2) 如果终端确实支持这些键,那么请确保TERM外部 tmux 对于您正在运行 tmux 的终端来说是正确的,以便 tmux 知道会发生什么。例如,在 xterm 中,您应该使用xtermor xterm-256color,rxvt 应该使用rxvtor rxvt-256color。记住这是外部tmux - tmux 内部必须保留screentmux

3) 如果正确的TERM外部 tmux 无法修复该问题,则 terminfo 条目可能缺少密钥或已过期。也许看看你是否可以升级 ncurses。或者可以使用 tmux 的terminal-overrides选项手动添加密钥。

相关内容