78

一段时间以来,我一直是一个快乐的 tmux 用户,但有一种行为困扰着我。当我使用 ^b 箭头切换窗格,然后立即按向上箭头(例如,从历史记录中获取命令)时,窗口窗格再次切换。我知道如果您想快速通过多个窗格,这可能很有用,但对我来说,这是一种痛苦,因为我一直在我从未想过要进入的窗格中结束。

那么,有没有办法设置 tmux 以便 ^b-arrow 命令只切换一次窗格并忽略任何后续箭头键按下?

4

3 回答 3

91

发生这种情况是因为箭头键的默认绑定是用 设置的bind-key -r,指定它们可以重复。有两种方法可以禁用此功能。

首先,您可以使用set-option repeat-time 0完全禁用重复。这将影响所有绑定。我发现在调整窗格大小时这很烦人。

其次,您可以更改箭头键的绑定以在bind-key不使用该-r选项的情况下使用:

bind-key Up    select-pane -U
bind-key Down  select-pane -D
bind-key Left  select-pane -L
bind-key Right select-pane -R
于 2012-12-02T15:50:46.273 回答
8

如果您花很多时间在窗格中导航,为什么不设置全局映射,这样您根本不必使用前缀,例如bind -n C-h select-pane -L将 ctrl-h 映射到左切换,就像 Vim 一样。

请参阅http://robots.thoughtbot.com/seamless-navigate-vim-and-tmux-splits以获得更好的解决方案,该解决方案也可以跨 Vim 窗口导航。

于 2014-04-04T10:28:28.587 回答
3

如果您在相同的两个窗格之间来回滑动,另一个选项是进行绑定以跳转到上一个窗格。

bind-key C-a last-pane
于 2013-04-07T01:38:53.520 回答