Scorciatoie da tastiera di selezione camelCase di Mimic Xcode in OS X


25

Trascorro molto tempo a modificare il testo in Xcode e vorrei spostarmi all'interno del resto del Cocoa Text System per offrire un'esperienza identica. Esistono 3 versioni delle scorciatoie da tastiera del cursore che uso regolarmente in Xcode (mostrando solo per brevità versioni in avanti, che non alterano la selezione):

  1. + Sposta in avanti il ​​cursore 1 subword (^ camelCase -> camel ^ Case -> camelCase ^)
  2. ⌥ Option+ Sposta il cursore di 1 parola in avanti
  3. ⌘ Command+ Sposta il cursore alla fine della riga

Le combinazioni di tasti predefinite di OS X rispettano 2 e 3, ma esiste una disparità con 1. Al di fuori di Xcode, + si comporta come ⌘ Command+ . Non è terribilmente applicabile spesso, ma ogni volta che + mi porta alla fine di una riga in Mail o qualcosa del genere, è come un piccolo petardo si spegne nel mio cervello. È abbastanza fastidioso che sono disposto a investire in qualsiasi hacker per "correggere" il comportamento una volta per tutte.

Per evitare di coprire vecchi terreni, sono già a conoscenza di questo piccolo bocconcino e di questo elenco di selettori , ma non sono a conoscenza di alcuna API nel sistema di testo Cocoa per la selezione di parole chiave. Forse ci sono API non documentate lì da qualche parte?


Non cerco sempre di effettuare selezioni di camelCase al di fuori di Xcode con le scorciatoie da tastiera, ma quando lo faccio voglio che OS X obbedisca.


2
Sul mio mac ⌃ → cambia gli spazi di default, e non si comporta come ⌘ →
CousinCocaine

2
Ciò presuppone che tu abbia disabilitato quel collegamento nelle Preferenze di Sistema.
Matt Wilding,

No. Su OS X (Mavericks) il comportamento predefinito di ⌃ → è lo spazio degli interruttori. osxdaily.com/2011/09/06/…
CousinCocaine

Lo voglio anche tu. Penso che ci possa essere uno strumento esterno come PuntoSwitcher di Yandex per manipolare il cursore di input in qualsiasi casella di testo.
Даниил Пронин,

Risposte:


2

Ci dispiace ma ciò che vuoi non è possibile.

Potresti provare ad aggiungere le combinazioni di tasti XCode che fanno questo

"^\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 */

nel tuo ~/Library/KeyBindings/DefaultKeyBindings.dictfile ma a meno che l'applicazione non sia scritta per rispondere a questi metodi, non funzionerà. Come hai detto, questi metodi non fanno parte del sistema di testo standard, quindi queste chiamate in un'app rimarranno senza risposta o riceverai un segnale acustico di sistema.


0

Per usare la custodia del cammello (ovvero le parole secondarie) per l'uso corretto

^+ [per spostare una parola secondaria a sinistra

^+ ]per spostare una parola secondaria a destra

L'ho confermato in OSX 10.10.1 con Xcode 6.1.1.


Penso che l'essenza di questa domanda sia ottenere i comandi della sotto-parola Xcode all'esterno di quell'app e sul resto delle app standard.
bmike

@bmike, forse lo è. In tal caso, probabilmente si dovrebbe codificare questo perché la funzionalità è inerente a Xcode e non al sistema operativo. Ma si spera che un utente Xcode lo sappia.
SaxDaddy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.