Карта настроек терминала по умолчанию Shift - Page Up и Shift - Page Down для последовательностей символов, которые говорят программам, таким как Vim и Emacs, прокручивать (ESC [ 5 ~
и ESC [ 6 ~
)).
Если вы хотите, чтобы эти клавиши отправляли последовательности символов на терминал без модификатора Shift , вы можете настроить карту клавиатуры:
Терминал> Настройки> Настройки> [профиль]> Клавиатура
Если вы сделаете это, я рекомендую инвертировать значение модификатора Shift для этих клавиш, поменяв местами отображения для сдвинутых и несмещенных клавиш, чтобы альтернативные варианты поведения все еще были доступны. Также см. Меню « Вид» , в котором содержатся команды прокрутки, использующие модификатор « Команды» , поэтому они доступны независимо от карты клавиатуры терминала.
Аналогично, Shift - Home и Shift - End отображаются для перемещения в начало / конец текущей строки (ESC [ H
и ESC [ F
). Эти последовательности понятны для Bash, но вам, возможно, придется настроить Vim для их понимания или отредактировать сопоставления специально для Vim. Vim, Emacs и некоторые другие программы отправляют управляющую последовательность, чтобы перевести терминал в «Режим курсора приложения», где клавиши Home / End отправляют ESC O H
и ESC O F
, но Terminal (по состоянию на 10.9) не реализует это поведение. Поэтому вы можете изменить карту клавиатуры, чтобы вместо этого отправлять эти другие коды (Bash также понимает их). (В других ОС Home и End используются для начала / конца строки, поэтому Terminal предоставляет им модификатор Shift для симметрии.)
Control - Стрелка влево и Control - Стрелка вправо также отображаются по умолчанию для последовательностей «переход к началу / концу строки», хотя они отличаются от тех, которые отображаются на Shift - Home и Shift - End. Вместо этого они сопоставляются с Emacs- и Bash-совместимыми последовательностями ESC [ 5 D
и ESC [ 5 C
Предполагая, что они не используются Vim, самый простой подход - настроить Vim для их принятия, используя ~ / .vimrc.
Обратите внимание, что в более поздних версиях macOS Terminal больше не имеет явных сопоставлений для Home и End в настройках по умолчанию. Вместо этого он имеет динамическое поведение, когда ключи автоматически отображаются на начало / конец строки, когда активен альтернативный экран - например, при использовании полноэкранного приложения, такого как emacs, vim, screen или tmux. При использовании линейно-ориентированной программы, такой как оболочка, на главном экране, они продолжают прокручивать вид терминала по умолчанию. Модификатор Shift инвертирует поведение.