在tmux中切换窗格:每个命令切换一次

一段时间以来,我一直是一个快乐的tmux用户,但是有一种行为困扰着我。 当我使用^ b-arrow切换窗格,然后立即按下箭头键(例如,从历史logging中获取命令)时,窗口窗格会再次切换。 我明白,如果你想快速浏览多个窗格,这对我来说是很有用的,但是对我来说,这是一个背后的痛苦,因为我一直在我不曾想要的窗格中结束。

那么,有没有办法设置tmux,这样^ b-arrow命令只能切换一次窗格而忽略任何后续的箭头键?

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

首先,您可以使用set-option repeat-time 0来禁止完全重复。 这将影响所有绑定。 我觉得在调整窗格大小的时候非常烦人。

其次,您可以更改箭头键的绑定,以使用不带-r选项的bind-key

 bind-key Up select-pane -U bind-key Down select-pane -D bind-key Left select-pane -L bind-key Right select-pane -R 

如果你花费很多时间浏览窗格,为什么不设置全局映射,所以你根本就不用使用前缀,比如bind -n Ch select-pane -L把ctrl-h映射到左边,和Vim一样。

请参阅http://robots.thoughtbot.com/seamlessly-navigate-vim-and-tmux-splits,以获得更好的解决scheme,也可以跨Vim窗口进行导航。;

另一个select是如果在相同的两个窗格之间来回跳动,则进行绑定以跳转到前一个窗格。

 bind-key Ca last-pane