一旦您的终端发送了 tmux的 最新“未发布”版本,它们就会自动识别那些xterm样式的键序列(无需更改terminfo条目)。下一个发行版(1.8?)也应具有此支持。使用适当的tmux 1构建,您要做的就是将密钥绑定到 tmux 配置中:
bind-key C-Tab next-window
bind-key C-S-Tab prevIoUs-window
您仍然需要在这些键之前输入前缀键。
(注意:~/.tmux.conf
仅在服务器启动时才进行处理。如果对其进行更改,则需要退出所有会话并重新启动服务器,或者使用(例如)tmux source ~/.tmux.conf
使现有服务器重新处理文件。)
另外,如果您希望 tmux 将这些(以及其他)xterm样式的键序列传递给 tmux 内部运行的程序,那么您将需要启用xterm- keys
window选项。
set-option -gw xterm-keys on
(如果愿意,可以使用-w
而不是逐个窗口地执行此操作-gw
。)
如果您希望不使用前缀就可以使用这些键,则可以使用“无前缀”绑定:
bind-key -n C-Tab next-window
bind-key -n C-S-Tab prevIoUs-window
但是,这或多或少将“专用”于 tmux 的密钥。很难在 tmux 内运行的任何程序中键入这些键(例如,您必须使用 tmux 命令send- keys C-Tab
-通常xterm-keys
必须启用以发送这些xterm样式的键序列)。
terminfo条目编辑的问题可能是因为在命名终端类型的那一行之后的每一行都必须以Tab键开头。不以制表符开头的行是新终端条目的开头。从技术上讲,NL TAB序列基本上是此文件格式的换行符。每个条目都是一条逻辑行。
另外,如果要重新定义terminfo条目,请确保-x
与 infocmp 和 tic 一起使用以保留用户定义的功能(其中一些功能是非常标准的)。
1即从sf.net(位于可克隆URL )的 tmux Git存储库中的最新代码构建git://git.code.sf.net/p/tmux/tmux-code
。