Changer d'onglet dans le terminal Mac avec Ctrl + PageUp / PageDown

10

J'ai récemment commencé à utiliser un Mac (exécutant Lion) et il y a une incohérence qui m'arrive.

Dans Chrome et MVim, je peux changer d'onglet avec Ctrl+ PageUp/ PageDown. Mais, dans le Terminal, je dois utiliser Cmd+ Shift+ Left/ Right.

Je voudrais changer ce dernier en Ctrl+ PageUp/ PageDown, mais je n'arrive pas à le faire.

Lorsque je vais dans Préférences Système → Clavier → Raccourcis clavier → Raccourcis d'application et que j'ajoute un raccourci à "Sélectionner l'onglet suivant" du terminal, je peux le définir comme étant à peu près n'importe quoi tant qu'il n'inclut pas de touche PageUp / PageDown.

Pourquoi y a-t-il une telle limitation et puis-je la contourner?

renardeau
la source

Réponses:

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"

-gmodifie ~/Library/Preferences/.GlobalPreferences.plist. Vous devez rouvrir les applications pour appliquer les modifications et les raccourcis ajoutés manuellement ne s'affichent pas dans les raccourcis d'application .

Lri
la source
Avant de l'essayer, comment pourrais-je annuler cela? Y a-t-il quelque chose comme -dict-remove? (Aussi, j'aimerais savoir comment vous avez trouvé cette solution.)
foxcub
1
defaults delete -g NSUserKeyEquivalents. Vous pouvez également modifier le fichier manuellement avec: f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Je ne l'ai découvert nulle part en particulier.
Lri
Je pense que les codes clés sont erronés. Il essaie de tout régler sur Ctrl + PageUp. Où puis-je rechercher ces codes?
foxcub
Désolé, corrigé. lri.me/chars
LRI
Accepter cette réponse, car c'est une approche plus directe de ma question. (Désolé de ne pas pouvoir le voter - pas assez de réputation.)
foxcub
3

Vous pouvez utiliser iTerm, car il dispose d'un système de raccourcis beaucoup plus flexible, mais vous rencontrerez inévitablement une autre application qui ne fonctionne pas comme vous le souhaitez.

Je pense que vous constaterez que Command+ shift+ [et Command+ shift+ ]sont les seuls raccourcis cohérents pour basculer entre les onglets et il vaut mieux changer simplement vos habitudes.

Jared O'Connor
la source
Existe-t-il un moyen de changer le raccourci Chrome pour passer d'un onglet à l'autre? (Je pense que je sais comment le faire pour MVim.) Je suis d'accord pour changer mes habitudes, mais j'ai besoin de cohérence.
foxcub
Chrome utilise déjà ces raccourcis, tout comme MacVim et toutes les autres applications que j'ai utilisées, à l'exception d'Adium.
Jared O'Connor
Maj-Commande-Flèche gauche / droite permettent également de changer d'onglet dans le terminal. De plus, à partir de Mac OS X Lion 10.7, le geste de «balayage à trois doigts» change d'onglet (tant que vous n'avez pas la préférence système définie pour utiliser le balayage à trois doigts pour autre chose).
Chris Page
Notez que pour les personnes avec (beaucoup) de dispositions de clavier non anglais, tous les raccourcis impliquant des touches comme [] {} sont difficiles à taper. C'est pourquoi je préfère personnellement les raccourcis qui utilisent des touches qui ne dépendent pas de la disposition du clavier. Comme PageUp et PageDown.
tml
3

La réponse de Lri fonctionne (et FWIW, je l'ai votée positivement), mais prend un peu une approche de fusil de chasse: elle crée des paramètres globaux (au lieu de paramètres spécifiques au terminal), et certaines des choses qu'elle définit n'ont en fait aucun effet sur le terminal - - Je ne sais pas vraiment à quoi ils servent.

Si, comme moi, vous êtes un peu paranoïaque et préférez une approche plus «chirurgicale», voici une version modifiée de la réponse de 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"

Cela ajoute seulement deux raccourcis clavier, ^PageUpet ^PageDown, et les ajoute uniquement au terminal.

Laurence Gonsalves
la source
Une idée si cela devrait encore fonctionner (dans El Capitan)? Ça ne marche pas pour moi malheureusement.
Chris
@Chris On dirait que vous avez raison. Cela ne semble plus fonctionner! D'une part, les éléments des menus ont changé de nom (ils disent maintenant "Afficher" au lieu de "Sélectionner"), mais même corriger ce paramètre ne semble pas avoir d'effet. En fait, je n'arrive pas à obtenir NSUserKeyEquivalents pour travailler pour Terminal à El Capitan Ugh
Laurence Gonsalves
1

Sur la base de cette réponse, voici une version de ceci pour 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"
Danielle Madeley
la source
Confirmé que cela fonctionne sur Mojave, bien que cette réponse semble être un double de la réponse de Laurence Gonsalves . En outre, PSA: n'oubliez pas de redémarrer Terminal après avoir exécuté.
RACKGNOME