Переключение вкладок в терминале Mac с помощью Ctrl+PageUp/PageDown

Переключение вкладок в терминале Mac с помощью Ctrl+PageUp/PageDown

Недавно я начал использовать Mac (под управлением Lion), и есть одно несоответствие, которое меня раздражает.

В Chrome и MVim я могу переключать вкладки с помощью Ctrl+ PageUp/ PageDown. Но в Терминале мне приходится использовать Cmd+ Shift+ Left/ Right.

Я бы хотел изменить последнее на Ctrl+ PageUp/ PageDown, но не могу этого сделать.

Когда я захожу в Системные настройки → Клавиатура → Сочетания клавиш → Сочетания клавиш приложений и добавляю сочетание клавиш для «Выбрать следующую вкладку» в Терминале, я могу установить его практически на что угодно, при условии, что оно не включает клавиши PageUp/PageDown.

Почему существует такое ограничение и можно ли его обойти?

решение1

defaults write -g NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C" "Previous Tab" "^\UF72C" "Previous Workspace" "^\UF72C" "Select Next Tab" "^\UF72D" "Next Tab" "^\UF72D" "Next Workspace" "^\UF72D"

-gизменяет ~/Library/Preferences/.GlobalPreferences.plist. Вам нужно повторно открыть приложения, чтобы применить изменения, а добавленные вручную ярлыки не отображаются вЯрлыки приложений.

решение2

Вы можете использовать iTerm, поскольку у него гораздо более гибкая система сочетаний клавиш, но вы неизбежно столкнетесь с другим приложением, которое не будет работать так, как вам нужно.

Я думаю, вы обнаружите, что Command+ shift+ [и Command+ shift+ ]— единственные постоянные сочетания клавиш для переключения между вкладками, и лучше просто изменить свои привычки.

решение3

Ответ Lri работает (и, кстати, я его плюсанул), но в нем используется некий подход «из пушки по воробьям»: он создает глобальные настройки (вместо настроек, специфичных для Терминала), и некоторые из устанавливаемых им параметров на самом деле вообще не влияют на Терминал — я вообще не знаю, для чего они нужны.

Если вы, как и я, немного параноик и предпочитаете более «хирургический» подход, вот измененная версия ответа Лри:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Previous Tab"    "^\UF72C"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Next Tab"        "^\UF72D"

Это добавляет только две комбинации клавиш, ^PageUpи ^PageDown, и добавляет ихтольков Терминал.

решение4

Все еще работает для MacOS Sonoma (14.0):

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Next Tab" "^\UF72D"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Previous Tab" "^\UF72C"

Связанный контент