Haga que Mac OS X "Opción-Flecha" funcione como Windows "Ctrl-Flecha"


21

Confío en el comando " Ctrl- " en Windows para navegar a través de documentos de texto.

Este útil combo de teclas me llevará rápidamente al comienzo de la siguiente palabra. Por ejemplo, la siguiente secuencia ilustra lo que sucedería con la ubicación del cursor después de presionar sucesivamente Ctrl- (la "^" representará el cursor):

^The quick brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick brown fox ^jumped over the lazy dog
...

Y, si empiezo a presionar el botón, moverá el cursor a los mismos puntos exactos en el documento, simplemente yendo en la otra dirección (lo cual es ideal porque la posición del cursor es predecible, lo que me lleva a ser más rápido para hacer mi ediciones):

The quick brown fox ^jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Mac OS X tiene un atajo de teclado similar ( Option- - Mapeé " Ctrl" a " Option" específicamente para poder obtener esta misma funcionalidad en la forma en que me he acostumbrado).

Sin embargo, " Option- Arrow" me lleva al final de la palabra actual cuando utilizo la tecla de flecha derecha, como se ilustra aquí:

^The quick brown fox jumped over the lazy dog
The^ quick brown fox jumped over the lazy dog
The quick^ brown fox jumped over the lazy dog
The quick brown^ fox jumped over the lazy dog
The quick brown fox^ jumped over the lazy dog
...

Y, lo que es peor, ir en la otra dirección no te lleva de vuelta al mismo lugar que avanzar, sino que te lleva al comienzo de la última palabra:

The quick brown fox^ jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Esto es extremadamente frustrante para mí, ya que necesito cambiar a menudo entre Windows y Mac, y muy raramente quiero ir al final de la palabra actual (¿por qué querría eso, a menos que también mantenga " Shift"? ) Yo siempre quiero saltar al comienzo de la siguiente palabra.

Estoy dispuesto a hacer todo lo posible para que la versión de Mac funcione de la misma manera (compre software, escriba un comando Applescript personalizado vinculado a estos atajos de teclado), por lo que estoy buscando sugerencias.

¿Existen herramientas existentes que cambiarán esto para mí?

¿Cómo sugerirías "arreglarlo"?

Gracias

EDITAR

Pude hacer un "Servicio" en Automator, y usé el siguiente AppleScript:

on run {input, parameters}

    tell application "System Events" to key code 124 using {option down}
    tell application "System Events" to key code 124

end run

Luego até este Servicio a la combinación de teclas " Command- " usando la configuración "Teclado" en Preferencias del Sistema.

Sin embargo, para que esto funcione tengo que quitar mi dedo de la Commandtecla ... lo que lo hace más o menos inútil. También es lento y no parece funcionar en la aplicación en la que más lo necesito para trabajar (Xcode).

Respuestas:


22

Así es como puede hacer que ⌃ Controllas teclas de flecha + funcionen como usted describe. Copie la siguiente lista de propiedades en ~/Library/KeyBindings/DefaultKeyBinding.dict(puede crear el directorio si aún no existe):

{
    "^\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "^$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");
}

Esto configurará la ⌃ Controlflecha + para navegar hasta el comienzo de la siguiente palabra (mediante el uso de la navegación normal de OS X tres veces: hasta el final de la palabra actual, el final de la siguiente palabra y luego volver al comienzo de la siguiente palabra). También incluí una versión que funciona ⇧ Shiftpara que pueda seleccionar texto a medida que avanza.

Advertencia: esto solo funcionará en las aplicaciones de Cocoa, pero creo que la ⌥ Optionnavegación normal + flecha también lo hace. Además, ¡asegúrate de relanzar tus aplicaciones!


Whoot! Justo lo que esperaba ... ¡gracias! Déjame intentarlo y luego marcaré la respuesta.
Steve

¡Muchas gracias! Trabajado como un encanto. FYI "Key Bindings" vs "KeyBindings" ... Usé "KeyBindings" y funcionó. No estoy seguro si hace la diferencia. Lástima que Xcode los anule con sus propias asociaciones de teclas menos potentes.
Steve

¡Vaya, sí, me refería a KeyBindings! Los Xcode son bastante buenos porque puedes navegar por las subpalabras de camelCase.
jtbandes

Me gusta el navegador camelCase. Idealmente, me gustaría el comportamiento de Visual Studio en Xcode ... oh, bueno.
Steve

Puede, al menos, personalizar los Xcode. Hay una pestaña en las Preferencias para cambiar las combinaciones de teclas.
jtbandes

5

Cosas que podrías probar. No los he probado para ver si realizarán la función que necesita.

Hay una utilidad gratuita de código abierto para reasignar comandos clave para Mac OS X llamada DoubleCommand . Es una extensión del núcleo, por lo que funciona a un nivel muy bajo.

Otro programa gratuito que la gente de DoubleCommand recomienda que revises es KeyRemap4MacBook . Necesitas usar uno u otro; entrarán en conflicto si ambos están instalados en tu Mac.


1
Usando KeyRemap4MacBook en OS X 10.11.x para hacer que Control + [Flecha] funcione como en Windows, desplácese hacia abajo hasta que encuentre Para usuarios de PC y luego marque (para mí, opción seis) "Usar control de estilo de PC + Arriba / Abajo / Izquierda / Derecha ". Hay otras opciones muy útiles allí. ¡Definitivamente votar esta respuesta y además no costó cientos de dólares adicionales!
John

1

Después de años de las molestas asignaciones predeterminadas de OSX, cambié mis teclas de Comando y Control y quería que las teclas Control + Flecha proporcionaran funcionalidad de avance de palabra, retroceso de palabra en lugar de BOL / EOL. La respuesta aceptada funcionó para mí, excepto con ^ cambiado a @ ya que ahora uso Control en lugar de Comando. También asigné las funciones BOL / EOL menos utilizadas a las combinaciones de teclas Opción + Flecha.

{
    "@\UF702" = ("moveWordBackward:");
    "@$\UF702" = ("moveWordBackwardAndModifySelection:");
    "~\UF702" = ("moveToBeginningOfLine:");
    "~$\UF702" = ("moveToBeginningOfLineAndModifySelection:");
    "@\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "@$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");    
    "~\UF703" = ("moveToEndOfLine:");
    "~$\UF703" = ("moveToEndOfLineAndModifySelection:");
}
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.