Переключення вкладок у терміналі Mac за допомогою Ctrl + PageUp / PageDown


10

Нещодавно я почав використовувати Mac (працює з Lion), і є одна непослідовність, яка мені доходить.

У Chrome і MVim я можу переключати вкладки з Ctrl+ PageUp/ PageDown. Але в Терміналі я повинен використовувати Cmd+ Shift+ Left/ Right.

Я хотів би змінити останнє на Ctrl+ PageUp/ PageDown, але я не можу цього зробити.

Коли я заходжу в системні налаштування → Клавіатура → Клавіші швидкого доступу → Ярлики програми та додаю ярлик до "Вибрати наступну вкладку" термінала, я можу встановити його майже будь-що, доки він не містить клавішу PageUp / PageDown.

Чому існує таке обмеження, і чи можу я його обійти?

Відповіді:


7

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. Щоб застосувати зміни, потрібно знову відкрити програми, а додані вручну ярлики не відображаються в ярликах програм .


Перш ніж я спробую, як би це скасувати? Чи є щось на кшталт -суд-вилучення? (Також я хотів би знати, як ви знайшли це рішення.)
foxcub

1
defaults delete -g NSUserKeyEquivalents. Ви також можете вручну відредагувати файл з: f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Я про це не дізнався ніде, зокрема.
Лрі

Я думаю, що ключові коди неправильні. Він намагається налаштувати все на Ctrl + PageUp. Де я можу знайти ці коди?
foxcub

Вибачте, виправлено. lri.me/chars
1111

Приймаю цю відповідь, оскільки це більш прямий підхід до мого питання. (Вибачте, що не можу підняти його - недостатньо репутації.)
foxcub

3

Ви можете використовувати iTerm, оскільки в ньому є набагато більш гнучка система ярликів, але ви неминуче натрапите на інший додаток, який працює не так, як вам хочеться.

Я думаю, ви побачите, що Command+ shift+ [і Command+ shift+ ]- це єдині послідовні ярлики для перемикання між вкладками, і краще просто змінити свої звички.


Чи є спосіб змінити ярлик Chrome для переключення вкладок на ті самі? (Я думаю, що я знаю, як це зробити для MVim.) Я гаразд із зміною своїх звичок, але мені потрібна послідовність.
foxcub

Chrome вже використовує ці ярлики, як і MacVim та будь-який інший додаток, який я використовував, за винятком Adium.
Джаред О'Коннор,

Shift-Command-вліво / вправо стрілка також перемикає вкладки в терміналі. Також, як і в Mac OS X Lion 10.7, "пальцем три пальця" перемикає вкладки (до тих пір, поки у вас не буде встановлено системну перевагу для використання пальцем трьох пальців для чогось іншого).
Кріс Пейдж

Зауважте, що людям з (безліччю) не англійських розкладок клавіатури будь-які комбінації клавіш, що включають клавіші, як [] {}, важко набрати. Тому я особисто віддаю перевагу ярликам, які використовують клавіші, які не залежать від розкладки клавіатури. Як PageUp та PageDown.
tml

3

Відповідь Лрі працює (і FWIW, я її схвалив), але трохи підходить до рушниці: вона створює глобальні налаштування (замість конкретних налаштувань для терміналу), а деякі речі, які він встановлює, насправді взагалі не впливають на термінал - - Я насправді не знаю, для чого вони.

Якщо, як я, ти трохи параноїк і вважаєш за краще "хірургічний" підхід, ось модифікована версія відповіді Лрі:

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, і додає їх лише до терміналу.


Будь-яка ідея, якщо це все-таки спрацює (в Ель-Капітан)? На жаль, це не працює для мене.
Кріс

@Chris Схоже, ти прав. Це, здається, більше не працює! По-перше, пункти меню змінили назви (тепер вони говорять "Показати" замість "Вибрати"), але навіть виправлення цього параметра, здається, не має ніякого ефекту. Насправді я не можу отримати NSUserKeyEquivalents для робота в Терміналі взагалі в Ель-Капітані. Уф
Лоранс Гонсалвес

1

На основі цієї відповіді ось версія для macOS High Sierra:

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

Підтвердив, що це працює на Мохаве, хоча ця відповідь здається дублікатом відповіді Лоранса Гонсальвеса . Також PSA: не забудьте перезапустити Terminal після запуску.
RACKGNOME
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.