Перемикання розділеної панелі в tmux: перемикання один раз на команду


76

Я був щасливим користувачем tmux вже деякий час, але одна помилка мене хвилює. Коли я перемикаю панелі за допомогою клавіші ^ b-стрілка, а потім негайно натискаю стрілку вгору (щоб отримати команду з історії, наприклад), панель вікна знову перемикається. Я розумію, що це може бути корисно, якщо ви хочете швидко пересуватися кількома вікнами, але для мене це біль у задній частині, оскільки я постійно потрапляю в ті панелі, в яких я ніколи не хотів бути.

Отже, чи є спосіб встановити tmux так, щоб команда ^ b-arrow перемикала область лише один раз і ігнорувала будь-які наступні натискання клавіш зі стрілками?

Відповіді:


89

Це відбувається тому, що за замовчуванням прив’язки клавіш зі стрілками налаштовано 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

8

Якщо ви витрачаєте багато разів на навігацію панелями, чому б не встановити глобальні зіставлення, щоб вам не довелося використовувати префікси взагалі, наприклад bind -n C-h select-pane -L щоб зіставити ctrl-h для перемикання ліворуч, як і Vim.

Дивіться http://robots.thoughtbot.com/seamlessly-navigate-vim-and-tmux-splits для ще кращого рішення, яке також здійснює навігацію між вікнами Vim.


3

Інший варіант - зробити прив’язку, щоб перейти до попередньої панелі, якщо ви пересуваєтеся вперед-назад між тими самими двома панелями.

bind-key C-a last-pane

5
Для цього вбудовано PREFIX C-; Я вірю.
A.Wan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.