tmux-为每个命令强制重复前缀键

时间:2020-01-13 13:30:12

标签: tmux

现在,我的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
            }
        }
    }
}

2 个答案:

答案 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