
Недавно я начал использовать 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"