К вашему сведению, я отрегулировал ширину с помощью PREFIX: resize-pane, но все еще задаюсь вопросом, почему вышеупомянутая команда не должна работать.
Возможно, ваш терминал не отправляет (отдельную) последовательность, когда вы держите Controlи нажимаете клавишу со стрелкой.
Попробуйте запустить catи ввести в него ключи (Control-C, чтобы выйти). Вы, вероятно, обнаружите, что (например) Upи Control- Upоба генерируют одинаковую последовательность.
Приложение OS X Terminal
В конфигурации по умолчанию приложение OS X Terminal отправляет последовательность ^[[A(или ^[OA), вводите ли вы Upили Control- Up(также любую комбинацию с Shiftи Optionтоже).
Однако вы можете перенастроить Терминал для отправки соответствующих кодов. Это немного утомительно, но обычно вам нужно сделать это только один раз.
Терминал > Настройки ...
Настройки вкладки верхнего уровня
выберите профиль, который вы хотите изменить
Вкладка клавиатуры
нажмите кнопку «плюс», чтобы добавить новую привязку
выберите курсор
установите модификатор на 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 + Arrow в Системных настройках -> Клавиатура -> Сочетания клавиш -> Управление полетом. +1 за подсказку по использованию catдля просмотра событий клавиатуры
Алекс Лич
работает нормально, пока я не начну tmux. Я получаю ^ [[1; 5A ^ [[1; 5B до запуска tmux, но ^ [OA ^ [OB в tmux.
Нахли
1
@ Sinbadsoft.com: похоже, вы не xterm-keysвключили это окно tmux ; Вы можете хотеть set -gw xterm-keys on.
Крис Джонсен,
отлично работает для меня (Эль-Капитан).
Лин
10
По крайней мере, на Mavericks и iTerm2 вы должны удерживать Control, затем нажать b(вместо удержания), затем удерживать нажатой кнопку направления. Это посылает почти те же последовательности, что и нажатие Control- bс помощью кнопки со стрелкой, чтобы она работала.
Кроме того, не забудьте перейти к настройкам клавиатуры и на вкладке «Ярлыки» отключить все элементы управления полетом и такие сочетания клавиш, которые вы можете использовать, Controlплюс клавишу со стрелкой.
Вы можете использовать мета-ключ вместо управляющего ключа в комбинациях ctrl- c и ctrl- ↓. В OSX Terminal мета-ключ по умолчанию - это escape-ключ. Например, чтобы увеличить размер панели, нажмите ctrl-b esc- ↑.
Я нахожу, что клавиша Escape труднодоступна, поэтому вместо нее я использую ключ опции. В Terminal.app вы можете изменить его, перейдя в «Терминал»> «Настройки»> «Профили»> «Клавиатура»: установите флажок «Использовать параметр как мета-ключ».
Теперь вы можете набрать ctrl-b option- ↑, чтобы увеличить размер, или ctrl-b option- ↓, чтобы уменьшить размер, и вам не нужно переназначать клавиши управления миссией.
Ответы:
Возможно, ваш терминал не отправляет (отдельную) последовательность, когда вы держите Controlи нажимаете клавишу со стрелкой.
Попробуйте запустить
cat
и ввести в него ключи (Control-C, чтобы выйти). Вы, вероятно, обнаружите, что (например) Upи Control- Upоба генерируют одинаковую последовательность.Приложение OS X Terminal
В конфигурации по умолчанию приложение OS X Terminal отправляет последовательность
^[[A
(или^[OA
), вводите ли вы Upили Control- Up(также любую комбинацию с Shiftи Optionтоже).Однако вы можете перенастроить Терминал для отправки соответствующих кодов. Это немного утомительно, но обычно вам нужно сделать это только один раз.
нажмите кнопку «плюс», чтобы добавить новую привязку
control
Send Text:
действие\033
), за которым следует еще[1;5
один символ:A
для Up,B
для Down,C
для RightилиD
для LeftНапример, окончательная последовательность для Control- Upдолжна выглядеть примерно так
\033[1;5A
.Эти последовательности генерируются XTerm (подробности см. В документации по ctlseqs ).
Повторите последний шаг для других клавиш со стрелками.
iTerm 2
iTerm 2 отправляет ожидаемую последовательность по умолчанию.
источник
cat
для просмотра событий клавиатурыxterm-keys
включили это окно tmux ; Вы можете хотетьset -gw xterm-keys on
.По крайней мере, на Mavericks и iTerm2 вы должны удерживать
Control
, затем нажатьb
(вместо удержания), затем удерживать нажатой кнопку направления. Это посылает почти те же последовательности, что и нажатиеControl
-b
с помощью кнопки со стрелкой, чтобы она работала.Кроме того, не забудьте перейти к настройкам клавиатуры и на вкладке «Ярлыки» отключить все элементы управления полетом и такие сочетания клавиш, которые вы можете использовать,
Control
плюс клавишу со стрелкой.источник
Вы можете использовать мета-ключ вместо управляющего ключа в комбинациях ctrl- c и ctrl- ↓. В OSX Terminal мета-ключ по умолчанию - это escape-ключ. Например, чтобы увеличить размер панели, нажмите ctrl-b esc- ↑.
Я нахожу, что клавиша Escape труднодоступна, поэтому вместо нее я использую ключ опции. В Terminal.app вы можете изменить его, перейдя в «Терминал»> «Настройки»> «Профили»> «Клавиатура»: установите флажок «Использовать параметр как мета-ключ».
Теперь вы можете набрать ctrl-b option- ↑, чтобы увеличить размер, или ctrl-b option- ↓, чтобы уменьшить размер, и вам не нужно переназначать клавиши управления миссией.
источник