Métodos abreviados de teclado de selección camelCase de Mimic Xcode en OS X


25

Paso mucho tiempo editando texto en Xcode, y me gustaría maniobrar alrededor del texto dentro del resto del Sistema de Texto de Cocoa para ofrecer una experiencia idéntica. Hay 3 versiones de métodos abreviados de teclado de cursor que utilizo regularmente en Xcode (que solo muestran versiones avanzadas que no alteran la selección por brevedad):

  1. + Mover el cursor 1 subpalabra hacia adelante (^ camelCase -> camel ^ Case -> camelCase ^)
  2. ⌥ Option+ Mueve el cursor 1 palabra hacia adelante
  3. ⌘ Command+ Mueve el cursor al final de la línea

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

Para evitar cubrir el terreno antiguo, ya conozco este pequeño tidbit y esta lista de selectores , pero no conozco ninguna API en el Sistema de Texto de Cocoa para la selección de subpalabras. ¿Tal vez hay API indocumentada en alguna parte?


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


2
En mi Mac ⌃ → cambia espacios por defecto, y no se comporta como ⌘ →
CousinCocaine

2
Esto supone que ha deshabilitado ese acceso directo en Preferencias del Sistema.
Matt Wilding

No. En OS X (Mavericks) el comportamiento predeterminado de ⌃ → es cambiar espacios. osxdaily.com/2011/09/06/…
CousinCocaine

Lo quiero también Creo que puede haber una herramienta externa como Yandex 'PuntoSwitcher para manipular el cursor de entrada en cualquier cuadro de texto.
Даниил Пронин

Respuestas:


2

Lo siento, pero lo que quieres no es posible.

Podría 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 */
"^\177" = "deleteSubWordBackward:";                     /* ctl-delete */
"^\UF728" = "deleteSubWordForward:";                    /* ctl-forwardDelete */

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


0

Para navegar por el caso de camello (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.


Creo que la esencia de esta pregunta es obtener los comandos de sub-palabras Xcode fuera de esa aplicación y en el resto de las aplicaciones estándar.
bmike

@bmike, tal vez lo sea. Si es así, uno probablemente tendría que codificar esto porque la característica es inherente a Xcode y no al sistema operativo. Sin embargo, uno podría esperar que un usuario de Xcode sabría eso.
SaxDaddy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.