Atajos de teclado de selección camelCase de Mimic Xcode en OS X

25

Pasé una gran cantidad de tiempo editando texto en Xcode, y me gustaría maniobrar alrededor del texto dentro del resto del Sistema de Texto Cocoa para ofrecer una experiencia idéntica. Hay 3 versiones de atajos de teclado de cursor que uso regularmente en Xcode (solo se muestran las versiones avanzadas, sin alterar la selección por brevedad):

  1. + Mover el cursor 1 subword forward (^ camelCase - > camel ^ Case - > camelCase ^)
  2. ⌥ Opción + Mueve el cursor 1 palabra hacia adelante
  3. ⌘ Comando + Mueve el cursor al final de la línea

Las combinaciones de teclas predeterminadas de OS X respetan 2 y 3, pero existe una disparidad con 1. Fuera de Xcode, + se comporta como ⌘ Comando + . No se aplica con demasiada frecuencia, pero cada vez que bd + me lleva al final de una línea en Mail o algo así, es como un pequeño petardo se apaga en mi cerebro. Es lo suficientemente molesto que estoy dispuesto a invertir en cualquier piratería para "arreglar" el comportamiento de una vez por todas.

Para evitar cubrir terreno antiguo, ya conozco this little tidbit y esta lista de selectores , pero no conozco ninguna API en Cocoa Text System para la selección de subpuntos. Tal vez hay API sin documentar en alguna parte?

No siempre trato de hacer selecciones de camelCase fuera de Xcode con atajos de teclado, pero cuando lo hago quiero que OS X obedezca.

    
pregunta Matt Wilding 15.01.2013 - 18:04

2 respuestas

2

Lo siento, pero lo que quieres no es posible.

Podrías intentar agregar las combinaciones de teclas XCode que hacen esto

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

en su archivo ~/Library/KeyBindings/DefaultKeyBindings.dict , pero a menos que la aplicación esté escrita para responder a estos métodos, no funcionará. Como ha dicho, estos métodos no forman parte del sistema de texto estándar, por lo que estas llamadas en una aplicación simplemente quedarán sin respuesta o recibirá un pitido del sistema.

    
respondido por el Insomniac Software 18.12.2014 - 10:12
0

Para navegar por el caso de los camellos (también conocido como sub-palabras) al uso correcto

^ + [ para mover una palabra secundaria a la izquierda

^ + ] para mover una palabra secundaria a la derecha

Confirmé esto en OSX 10.10.1 ejecutando Xcode 6.1.1.

    
respondido por el SaxDaddy 20.12.2014 - 07:37

Lea otras preguntas en las etiquetas