OSX: modificación de la selección de texto con ⌘⇧ → y ⌘⇧ ←

10

Seleccioné un texto usando mi teclado, comenzando en la línea inferior y subiendo (el carácter | indica la posición del cursor):

AAA | {BBB CCC

DDD} EEE FFF

crear selección


Ahora, me gustaría cambiar la selección para que comience al final de la primera línea , es decir, para que se vea así:

Resultado Esperado:

AAA BBB CCC | {

DDD} EEE FFF


Puedo reducir la selección palabra por palabra con :

manipule la selección con la opción-shift-flechas


Pero la forma natural de hacerlo sería a través de saltar directamente al final de la primera línea. En muchos editores de texto decentes, esto funciona bien (por ejemplo, Sublime Text 2). También mantienen la |posición visible cuando se selecciona texto por cierto.

Sin embargo, el comportamiento predeterminado de las aplicaciones OSX es que ignoran el hecho de que el cursor se encuentra actualmente al comienzo de la selección, y moverlo hacia la derecha debería eliminar la selección allí. En cambio, siempre extiende la selección desde su final hasta el final de la línea, sin importar dónde esté el cursor actualmente:

Resultado actual:

AAA {BBB CCC

DDD EEE FFF} |

manipular la selección con las flechas de comando-shift


¿Hay alguna forma de hacer que las aplicaciones OSX nativas también se comporten de la manera esperada?

Estoy en OSX Yosemite 10.10.2 pero creo que este problema ha estado allí desde que tengo memoria.

Jakub Roztocil
fuente
Puedo reproducir esto en 10.10.1, ¿tal vez se ha solucionado en la versión beta?
0942v8653
1
Estoy en Yosemite 10.10.2 (también lo agrego a la pregunta ahora). Pero creo que este siempre ha sido el caso. Principalmente uso editores de código con buenas capacidades de edición de texto, pero me encantaría encontrar una solución a nivel de sistema operativo para esto.
Jakub Roztocil
1
Eche un vistazo a este documento de soporte de Apple que indica que cmd + shift + flecha derecha lo hará select text between the insertion point and the end of the current line. La única línea en su ejemplo, donde la selección aún no incluye el final de la línea , es la última línea. ¡Entonces el comportamiento esperado en OS X es extender la selección desde allí, no acortarlo en la línea de inicio! Sé que algunos editores se comportan de manera diferente, ¡pero lo están haciendo mal, no el sistema!
Asmus
1
@Asmus Hay un pequeño asterisco después de la descripción de ese (y muchos otros) atajos de teclado, pero no hay explicación para ello. ¿Alguna idea de lo que (*)significa?
Jakub Roztocil
1
No tengo idea de lo que (*)significa, pero probablemente haya quedado de versiones anteriores de la documentación. He actualizado ligeramente mi respuesta para incluir la única opción de combinación de teclas global que conozco, pero desafortunadamente estoy bastante seguro de que no hay forma de lograr lo que estás buscando. Dado que el comportamiento no está incorporado, las aplicaciones ahora no sabrían cómo manejarlo, incluso si pudiera desencadenarlo.
Asmus

Respuestas:

1

Mac no usa la posición del cursor si tiene una selección de texto múltiple, considera que el cursor está en 'todo el texto seleccionado'.

Puede ver esto demostrado si usa en Cmd ⌘ Shift ⇧ lugar de
Agregar a la selección con Shift ⇧ incluye la selección anterior.

No es una solución, pero puede ser una solución que mueva el cursor al final de su selección actual, deseleccionándolo simultáneamente y luego Cmd ⌘ Shift ⇧ seleccionando al principio de la línea.

Tetsujin
fuente
¿Qué significa esto? "Una selección de texto múltiple".
Nicolas Barbulesco
1

Entonces, tal como lo veo, la navegación de texto en OS X funciona (y se espera que funcione) así:

  1. Navegue por línea (o documento, es decir, grandes cantidades de datos):

    cmdTeclas de flecha +: se mueve por líneas (izquierda / derecha para líneas, arriba / abajo para todo el documento). Mantenga presionado shiftpara seleccionar

  2. Navegue por palabra (es decir, pequeños fragmentos de datos):

    alt+ teclas de flecha: se mueve por palabra (izquierda / derecha). Mantenga presionado shiftpara seleccionar.

Por lo tanto, para lograr su "resultado esperado", primero debe presionar la flecha hacia la derecha para llegar al final de su selección actual y luego cmd+ shift+ para seleccionar la línea que conduce a ella.

Cuando ya tienes una selección:

  1. El uso del altcombo de teclas anterior aumentará / disminuirá la selección en función de la dirección (siempre modificando el punto final de su selección anterior, suponiendo que se haya perdido el punto final ligeramente ). Lo mismo ocurre con la adición de caracteres individuales solo con las teclas Mayús + flecha.
  2. el cmdaumento del combo en ambas direcciones, suponiendo que después de seleccionar grandes fragmentos de texto de todos modos.

Actualizar

Larga historia corta: lo que quieres no es realmente posible. Si observa la lista de enlaces de teclas del sistema disponibles ejecutando

plutil -convert xml1 /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict -o -|pl|grep -v noop:|ruby -pe '$_.gsub!(/[^ -~\n]/)' | grep -i selection

Verá que, aunque puede vincular teclas personalizadas a todas las funciones de selección, ~/Library/KeyBindings/DefaultKeyBinding.dict no existe tal función que logre el comportamiento solicitado (ya que este comportamiento no está integrado en el sistema).

Asmus
fuente
Creo que Apple Up y Apple Down van al principio y al final del documento, y no navegan por página.
Nicolas Barbulesco
1
@NicolasBarbulesco tienes toda la razón, había escrito "documento" solo una línea antes, no sé por qué escribí "páginas" a continuación. Lo arregló ahora.
Asmus