Подтвердить что ты не робот

OS X Byobu Vertical Split

В настоящее время я нахожусь в OS X с помощью iTerm2 и byobu, и я не могу понять, как разделить мой экран по вертикали на OS X. В Linux я могу разделить экран по вертикали с помощью Ctrl + F2, но на OSX, это не работает, благодаря Apple, различной клавиатуре.

Я решил найти решение, и я не могу понять это. Я могу разделить экран по горизонтали с помощью Shift + F2, но мне нужно иметь возможность разбивать по вертикали. Кто-нибудь понял, как заставить привязки клавиатуры byobu хорошо работать с компьютерами Apple?

Спасибо заранее.

4b9b3361

Ответ 1

Похоже, что там открыто ошибка в этой проблеме.

Мне удалось настроить iTerm2 на использование byobu локально на OS X, а также удаленно через ssh на сервере Ubuntu 14.04.

Использование:

  • Версия OS X: 10.9.5 Build 13F34
  • Версия iTerm2: Build 1.0.0.20140629

Во-первых, в настройках вашей операционной системы OS измените настройки клавиатуры и удалите или измените любые настройки ярлыков, которые могут конфликтовать с byobu (т.е. Ctrl + F1 - F12).

Вариант 1: Обходной путь с использованием управляющих последовательностей

Вот обходной путь, который будет работать без добавления полной функциональности клавишам FN. Это позволит вам разбивать окна по вертикали, используя escape-ключ byobu:

  • Запустите byobu.

  • Задайте желаемое поведение Ctrl - A, запустив: byobu-ctrl-a. Я решил пойти с Emacs-mode.

  • Запустите byobu-config и выберите или измените управляющую последовательность. Я пошел с новым значением по умолчанию Ctrl + S. Клавиша F12 также является escape-последовательностью

  • Теперь вы можете выдать команду с вашей escape-последовательностью. Попробуйте F12, затем % или Ctrl + S, затем %, чтобы разделить окно по вертикали. Для получения полного списка команд попробуйте Ctrl + S, затем ? или F12, затем ?.

Вариант 2: настройка сопоставлений клавиш iTerm2 для полного использования всех клавиш FN.

Вы можете добавить некоторые сопоставления клавиш в свой профиль iTerm2, чтобы получить ключи Ctrl, ALT, SHIFT и FN для работы с byobu. Это утомительно, но я прошел упражнение и, похоже, сработал. Я не думаю, что есть автоматизированный способ сохранить эти сопоставления клавиш с iTerm2.

  • Откройте iTerm2 и выберите "Профили".
  • Выберите профиль, который хотите использовать.
  • Откройте панель "Терминал" и в разделе "Тип терминала отчета" выберите "Linux".
  • Откройте панель "Ключи" и вручную добавьте следующие привязки клавиш. Вот пример того, как добавить одно ключевое связывание:

    • Нажмите значок "+".
    • Введите ярлык клавиатуры, отображаемый в первом поле. Пример: CTRL + F2
    • В поле Действие выберите "Send Escape Sequence".
    • Введите символы в третьем поле. Пример: [1;5Q

Вы можете определить управляющие символы для любой последовательности клавиш, не указанной здесь, ссылаясь на исходный код tmux.

Повторите это для всех этих сопоставлений, чтобы выполнить соответствующую команду byobu:

  • Ctrl + F2: [1;5Q
  • Ctrl + SHIFT + F2: [1;6Q
  • ALT + LEFT: [1;3D
  • ALT + RIGHT: [1;3C
  • ALT + UP: [1;3A
  • ALT + DOWN: [1;3B
  • Ctrl + F3: [1;5R
  • Ctrl + F4: [1;5S
  • Ctrl + SHIFT + F3: [1;6R
  • Ctrl + SHIFT + F4: [1;6S
  • SHIFT + ALT + LEFT: [1;4D
  • SHIFT + ALT + RIGHT: [1;4C
  • SHIFT + ALT + UP: [1;4A
  • SHIFT + ALT + DOWN: [1;4B
  • Ctrl + F5: [15;5~
  • Ctrl + SHIFT + F5: [15;6~
  • ALT + F6: [17;3~
  • Ctrl + F6: [17;5~
  • ALT + PPAGE: [5;3~
  • ALT + NPAGE: [6;3~
  • Ctrl + F8: [19;5~
  • ALT + SHIFT + F8: [19;4~
  • Ctrl + SHIFT + F8: [19;6~
  • Ctrl + F9: [20;5~
  • ALT + F11: [23;3~
  • Ctrl + F11: [23;5~
  • ALT + F12: [24;3~
  • Ctrl + F12: [24;5~
  • ALT + INS: [2;3~

Резюме

Чтобы найти работу, нам необходимо:

  • Удалить конфликты с быстрыми клавишами OS X.
  • Отредактируйте сопоставления клавиш терминала, чтобы отправить правильные escape-последовательности при использовании функциональных клавиш.
  • Установите тип терминала iTerm2 в "Linux", который устанавливает переменную окружения TERM как "linux". Byobu и/или Tmux, казалось, были чувствительны к этому.

Некоторые другие ссылки на escape-последовательности: ссылка SO и xterm-keys.c


Каталог по умолчанию для новых окон и окон

Похоже, что существует некоторая разница в каталоге по умолчанию окна tmux между tmux 1.8 и tmux 1.9 (Src, Src, Src). Если вы используете byobu с tmux 1.9, вы можете попробовать добавить это в свой файл ~/.byobu/keybindings.tmux, чтобы при создании новых окон или вертикальных/горизонтальных разделов, которые они открывают в том же каталоге, что и текущая панель:

unbind-key -n F2
bind-key -n F2 display-panes \; new-window -c "#{pane_current_path}" -n -
unbind-key -n C-F2
bind-key -n C-F2 display-panes \; split-window -hc "#{pane_current_path}"
unbind-key -n  S-F2
bind-key -n S-F2 display-panes \; split-window -vc "#{pane_current_path}"
unbind-key %
bind-key % display-panes \; split-window -hc "#{pane_current_path}"
unbind-key |
bind-key | display-panes \; split-window -vc "#{pane_current_path}"

Нажмите F5, чтобы перезагрузить настройки.