我在窗格之间移动分隔线的常规命令在 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 之外的终端发送这些键的唯一内容。您可以通过在cat
tmux 外部运行然后按例如C-Down
并确保您看到的内容与按时不同来进行检查Down
。如果不这样做,则终端不支持这些键。
2) 如果终端确实支持这些键,那么请确保TERM
外部 tmux 对于您正在运行 tmux 的终端来说是正确的,以便 tmux 知道会发生什么。例如,在 xterm 中,您应该使用xterm
or xterm-256color
,rxvt 应该使用rxvt
or rxvt-256color
。记住这是外部tmux - tmux 内部必须保留screen
或tmux
。
3) 如果正确的TERM
外部 tmux 无法修复该问题,则 terminfo 条目可能缺少密钥或已过期。也许看看你是否可以升级 ncurses。或者可以使用 tmux 的terminal-overrides
选项手动添加密钥。