我正在try 在tmux会话中使用ctrl+选项卡ctrl+shift+选项卡绑定(我也在使用PuTTY).

我已经经历了重新编译PuTTY的痛苦,这样它才能正确地发送ctrlshift.在使用ctrl+v之后,我能够看到^[[27;5;9~^[[27;6;9~分别被发送到ctrl+选项卡和ctrl+shift+选项卡.有没有办法把这些绑定到tmux的下一个窗口和上一个窗口?

编辑:

编辑2:

kctab=\E[27;5;9~, kcstab=\E[27;6;9~,

直到最后,但现在它给了我一个错误."entry does not start with terminal names in column one"

推荐答案

最近的"未发布"版本的tmux会在终端发送这些xterm样式的密钥序列后自动识别它们(无需更改terminfo条目).下一版本(1.8?)我们也应该得到这种支持.使用tmux1的适当构建,您只需在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窗口选项.

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条目编辑的问题可能是因为命名端子类型的那一行后面的每一行都需要以选项卡开头.不以制表符开头的行是新终端条目的开头.从技术上讲,NL制表符序列基本上是这种文件格式中的一行延续;每个条目都是一个逻辑行.

此外,如果要重新定义terminfo条目,请确保将-xinfocmptic一起使用,以保留用户定义的功能(其中一些功能相当标准).


1即根据tmux Git repository at sf.net中的最新代码构建(位于可克隆的URL git://git.code.sf.net/p/tmux/tmux-code).

Linux相关问答推荐

获取Perl文件::Tail开始在最后流传输文件

如何确定Linux上的最大静态TLS(线程本地存储)块大小?

如何在我的 PC 上配置 GitLab 和 GitHub ssh 密钥

命令行中使用`..`为什么会导致权限被拒绝错误?

重新运行时避免 Linux bash 脚本中的文件重命名重复

无法在嵌入式 Linux 中使用 libjpeg 以 RGB888 在 LCD(黑色)上显示 JPEG

我想使用排序命令对第 5 列进行日期排序.但问题是格式不一致,有什么方法可以做到吗?

Linux 系统调用文档

使用 sed 或 awk 在 linux 中将第一行中的一个单词替换为第二行中的另一个单词

sed 根据文件中的条件进行多次替换

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

编译过度对齐的动态分配变量时出现 icpc 错误

如果 bash 中已经存在文件名,则创建新文件但添加数字

Linux 进程在后台 - 在作业(job)中 Stopped停止?

永久反转补丁文件

如何优雅地退出 X11 事件循环?

如何将文件从 Vagrant 机器复制到 localhost

无法覆盖符号链接 RedHat Linux

如何以编程方式禁用硬件预取?

ldconfig 错误:使用 Linux 加载程序时不是符号链接