Змінення панелі не працює для tmux на mac?


33

Після пошуку я зрозумів, що ctrl + b (PREFIX), тоді стрілка ctrl + повинна змінити розмір поточної області. Але це не працює. Я щось пропускаю?

Спасибі.


FYI, я змінив ширину за допомогою PREFIX: панель зміни розміру, але все ще цікаво, чому вищевказана команда не повинна працювати.
Бісванат

Відповіді:


42

Можливо, ваш термінал не надсилає (окрему) послідовність, коли ви утримуєте Controlта натискаєте клавішу зі стрілкою.

Спробуйте запустити catта ввести в нього ключі (Control-C, щоб вийти). Ви, ймовірно, виявите, що (наприклад) Upі Control- Upобидва генерують однакову послідовність.

Застосування терміналів OS X

У своїй конфігурації за замовчуванням програма OS X Terminal надсилає послідовність ^[[A(або ^[OA), вводячи Upабо Control- Up(також будь-яку комбінацію з Shiftі Optionтеж).

Однак ви можете перенастроїти Terminal для надсилання відповідних кодів. Це трохи нудно, але зазвичай це потрібно робити лише один раз.

  1. Термінал > Налаштування ...
  2. Вкладка верхнього рівня налаштувань
  3. виберіть профіль, який потрібно змінити
  4. Вкладка клавіатури
  5. натисніть кнопку плюс, щоб додати нову прив'язку

    • виберіть клавішу курсору
    • встановіть модифікатор на control
    • використовувати Send Text:дію
    • введіть Escape(з’явиться як \033), а потім ще [1;5один символ:
      • Aдля Up,
      • Bдля Down,
      • Cдля Right, або
      • D для Left
    • натисніть кнопку ОК, щоб додати прив'язку

Наприклад, остаточна послідовність для Control- Upмає виглядати так, як виглядає \033[1;5A.

Ці послідовності генерують XTerm ( детальну інформацію див. У документації на ctlseqs ).

Повторіть останній крок для інших клавіш зі стрілками.

iTerm 2

iTerm 2 за замовчуванням надсилає очікувану послідовність.


Дійсно, Ctrl + {клавіші зі стрілками) відображаються для переключення програми. Вони не надсилають послідовність.
Бісванат

19
Я спробував це на машині Mavericks з ваніллю (сітківка MBP в кінці 2013 року), але це не спрацювало, не вимкнувши також всі комбінації клавіш Ctrl + Стрілка в системних налаштуваннях -> Клавіатура -> Ярлики -> Управління місією. +1 для підказки щодо використання catподій на клавіатурі
Алекс Ліч

працює добре, поки я не запустя tmux. Я отримую ^ [[1; 5A ^ [[1; 5B перед запуском tmux, але ^ [OA ^ [OB в tmux.
нахлі

1
@ Sinbadsoft.com: це здається, що ви не xterm-keysувімкнули це вікно tmux ; ви можете захотіти set -gw xterm-keys on.
Кріс Джонсен

прекрасно працює для мене (el capitan).
лінг

10

Щонайменше, Mavericks та iTerm2, ви повинні утримувати Control, потім натискати b(замість того, щоб утримувати), а потім утримувати кнопку спрямування. Це надсилає майже ті ж послідовності, що й утримування Control- bза допомогою кнопки спрямованого, щоб вона працювала.

Також переконайтеся, що перейдіть до налаштувань клавіатури, а на вкладці швидких клавіш вимкніть будь-який контроль місії та такі комбінації клавіш, які у вас можуть бути Controlплюс додаткова клавіша.


7
Спасибі! зміна прив'язки до вікна управління місією / додатком у клавіатурних скороченнях
змінила

7

Ви можете використовувати мета-ключ замість клавіші керування у комбінаціях ctrl- ↑ та ctrl- ↓. У OSX Terminal мета-клавіша за замовчуванням - це клавіша втечі. Наприклад, для збільшення розміру панелі типу ctrl-b esc- ↑.

Я знаходжу ключ втечі, який потрібно досягти, тому я використовую опціональну клавішу як мета-ключ. У Terminal.app ви можете змінити його, перейшовши до Terminal> Preferences> Profiles> Keyboard: встановіть прапорець "Use Option as Meta Key".

Тепер ви можете ввести ctrl-b option- ↑ для збільшення розміру або ctrl-b option- ↓ для зменшення розміру, і вам не доведеться перезавантажувати клавіші управління місією.


Використання Escape було єдиним рішенням, як утримувати Ctr + Arrow за замовчуванням на моєму MacOS переходить на інший робочий стіл.
клімат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.