现在,我的tmux键绑定已设置为使用前缀+ h / j / k / l(即vim样式的绑定)来将窗格的焦点向左/向下/上/右移动。但是,有时当我切换到运行vim的窗格并立即开始使用h / j / k / l导航时,我陷入了“ tmux模式”,它将继续切换窗格而不是在vim中导航。切换到普通的终端窗格并列出文件(即使用“ l”)时,我遇到类似的问题。为了避免这种情况,我想强制tmux对我所做的每个窗格开关都要求使用前缀键。
有没有办法做到这一点?
编辑: 如果需要它,这是我的.tmux.conf
Item {
id: root
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
property string title
property alias inside: pane.contentItem
Column {
id: column
anchors.fill: parent
spacing: Style.paneTitleOffset
Text {
text: qsTr(title)
}
Pane {
id: pane
background: Rectangle {
color: "#283547"
radius: Style.rectangleCornerRadius
}
}
}
}
答案 0 :(得分:1)
这是由您在为h / j / k / l创建键绑定时使用-r
引起的。
在tmux手册页的bind-key
条目中:
-r标志表示此密钥可以重复,请参见重复时间选项。
关于repeat-time
选项:
允许输入多个命令,而无需在指定的时间毫秒(默认值为500)内再次按下前缀键。使用
-r
标志绑定到bind-key
时可以设置是否重复键。对绑定到resize-pane
命令的默认键启用重复。
只需从这四个命令中删除-r
,使其每次都需要前缀键即可。
答案 1 :(得分:1)
我不同意@filbranden的主张,即“为每个窗格开关要求前缀是正常行为”。这显然是错误的:在全新安装中,您可以创建一个包含两个窗格的窗口,键入前缀(C-b),然后按箭头键在窗格之间跳转任意多次。
This answer on StackExchange似乎正确。通过设置选项repeat-time
来控制不需要前缀的功能。默认情况下将其设置为500(这就是默认行为是不需要前缀的原因)。
要禁用此行为,只需将以下行添加到您的配置中:
set-option -g repeat-time 0