Raccourcis clavier de sélection camelCase de Mimic Xcode sous OS X

25

Je passe beaucoup de temps à éditer du texte dans Xcode, et j'aimerais manœuvrer autour du texte dans le reste du Cocoa Text System pour offrir une expérience identique. Il existe 3 versions de raccourcis clavier de curseur que j'utilise régulièrement dans Xcode (affichant uniquement les versions avancées, sans modification de sélection pour plus de brièveté):

  1. + Déplacer le sous-mot du curseur 1 vers l'avant (^ camelCase -> camel ^ Case -> camelCase ^)
  2. ⌥ Option+ Déplacer le curseur d'un mot vers l'avant
  3. ⌘ Command+ Déplacer le curseur à la fin de la ligne

Les raccourcis clavier par défaut d'OS X respectent 2 et 3, mais il existe une disparité avec 1. En dehors de Xcode, + se comporte comme ⌘ Command+ . Ce n'est pas très souvent applicable, mais chaque fois que + m'amène à la fin d'une ligne dans Mail ou quelque chose, c'est comme si un petit pétard se déclenche dans ma tête. C'est juste assez ennuyeux que je sois prêt à investir dans n'importe quel piratage pour "corriger" le comportement une fois pour toutes.

Pour éviter de couvrir de vieux terrains, je suis déjà au courant de cette petite friandise et de cette liste de sélecteurs , mais je ne connais aucune API dans le système de texte Cocoa pour la sélection de sous-mots. Peut-être qu'il y a une API non documentée quelque part?


Je n'essaie pas toujours de faire des sélections camelCase en dehors de Xcode avec des raccourcis clavier, mais quand je le fais, je veux qu'OS X obéisse.

Matt Wilding
la source
2
Sur mon mac ⌃ → change d'espaces par défaut, et il ne se comporte pas comme ⌘ →
CousinCocaine
2
Cela suppose que vous avez désactivé ce raccourci dans les Préférences Système.
Matt Wilding
Nan. Sous OS X (Mavericks), le comportement par défaut de ⌃ → est de changer d'espace. osxdaily.com/2011/09/06/…
CousinCocaine
Je le veux aussi. Je pense qu'il peut y avoir un outil externe comme PuntoSwitcher de Yandex pour manipuler le curseur d'entrée dans n'importe quelle zone de texte.
Даниил Пронин

Réponses:

2

Désolé mais ce que vous voulez n'est pas possible.

Vous pouvez essayer d'ajouter les raccourcis clavier XCode qui font cela

"^\UF702" = "moveSubWordBackward:";                     /* Ctl-Left Arrow */
"^$\UF702" = "moveSubWordBackwardAndModifySelection:";  /* Ctl-Shift-Left Arrow */
"^\UF703" = "moveSubWordForward:";                      /* Ctl-Right Arrow */
"^$\UF703" = "moveSubWordForwardAndModifySelection:";   /* Ctl-Shift-Right Arrow */
"^\177" = "deleteSubWordBackward:";                     /* ctl-delete */
"^\UF728" = "deleteSubWordForward:";                    /* ctl-forwardDelete */

dans votre ~/Library/KeyBindings/DefaultKeyBindings.dictfichier, mais à moins que l'application ne soit écrite pour répondre à ces méthodes, cela ne fonctionnera pas. Comme vous l'avez dit, ces méthodes ne font pas partie du système de texte standard, donc ces appels dans une application resteront sans réponse ou vous obtiendrez un bip système.

Logiciel insomniaque
la source
0

Pour naviguer dans le cas de chameau (alias sous-mots) vers la bonne utilisation

^+ [pour déplacer un sous-mot vers la gauche

^+ ]pour déplacer un sous-mot vers la droite

J'ai confirmé cela dans OSX 10.10.1 en exécutant Xcode 6.1.1.

SaxDaddy
la source
Je pense que l'essentiel de cette question est d'obtenir les commandes de sous-mot Xcode en dehors de cette application et sur le reste des applications standard.
bmike
@bmike, c'est peut-être le cas. Si c'est le cas, il faudrait probablement coder cela car la fonctionnalité est inhérente à Xcode et non au système d'exploitation. Mais on pourrait espérer qu'un utilisateur Xcode le saurait.
SaxDaddy