OSX: modifica della selezione del testo con ⌘⇧ → e ⌘⇧ ←


10

Ho selezionato del testo usando la mia tastiera, iniziando dalla riga inferiore e spostandomi verso l'alto (il carattere | indica la posizione del cursore):

AAA | {BBB CCC

DDD} EEE FFF

crea selezione


Ora, vorrei cambiare la selezione in modo che inizi alla fine della prima riga , cioè in modo che appaia così:

Risultato atteso:

AAA BBB CCC | {

DDD} EEE FFF


Posso ridurre la selezione parola per parola con :

manipola la selezione con le opzioni-shift-frecce


Ma il modo naturale per farlo sarebbe via , per saltare direttamente alla fine della prima linea. In molti editor di testo decenti funziona bene (ad esempio Sublime Text 2). Mantengono anche la |posizione visibile quando il testo è selezionato tra.

Il comportamento predefinito delle app OSX, tuttavia, è che ignorano il fatto che il cursore è attualmente all'inizio della selezione e spostandolo verso destra dovrebbe rimuovere la selezione lì. Invece, estende sempre la selezione dalla sua fine fino alla fine della linea, indipendentemente da dove si trovi attualmente il cursore:

Risultato attuale:

AAA {BBB CCC

DDD EEE FFF} |

manipola la selezione con le frecce di comando-maiusc


Esiste un modo per far sì che anche le app native OSX si comportino nel modo previsto?

Sono su OSX Yosemite 10.10.2 ma penso che questo problema sia stato lì da quando posso ricordare.


Posso riprodurlo nel 10.10.1, forse è stato corretto nella beta?
0942v8653,

1
Sono su Yosemite 10.10.2 (anche aggiungendolo ora alla domanda). Ma penso che sia sempre stato così. Uso principalmente gli editor di codice con buone capacità di modifica del testo, ma mi piacerebbe trovare una soluzione a livello di sistema operativo.
Jakub Roztocil,

1
Dai un'occhiata a questo documento di supporto Apple che afferma che lo farà cmd + maiusc + freccia destra select text between the insertion point and the end of the current line. L'unica riga nell'esempio, in cui la selezione non include già la fine della riga , è l'ultima riga. Quindi il comportamento previsto in OS X è quello di estendere la selezione da lì, non di interromperla nella riga iniziale! So che alcuni redattori si comportano diversamente, ma non stanno facendo male al sistema!
Asmus,

1
@Asmus C'è un piccolo asterisco dopo la descrizione di quella (e molte altre) scorciatoie da tastiera, ma non c'è spiegazione per questo. Qualche idea su cosa (*)significhi?
Jakub Roztocil,

1
Non (*)ho idea di cosa significhi, ma probabilmente è rimasto fuori dalle versioni precedenti della documentazione. Ho aggiornato leggermente la mia risposta per includere l'unica opzione di rilegatura dei tasti che conosco, ma sfortunatamente sono abbastanza sicuro che non c'è modo di ottenere ciò che stai cercando. Dal momento che il comportamento non è integrato, le applicazioni non potrebbero ora gestirlo anche se è possibile attivarlo.
Asmus,

Risposte:


1

Mac non usa la posizione del cursore se hai una selezione di più testi, considera che il cursore si trova su "tutto il testo selezionato".

Puoi vederlo dimostrato se usi Cmd ⌘ Shift ⇧ invece di
Aggiungere alla selezione con Shift ⇧ include la selezione precedente.

Non una correzione, ma potrebbe essere una soluzione alternativa che sposterebbe il cursore alla fine della selezione corrente, deselezionandola contemporaneamente, quindi Cmd ⌘ Shift ⇧ selezionare all'inizio della riga.


Cosa significa questo? "Una selezione di più testi".
Nicolas Barbulesco,

1

Quindi, per come la vedo io, la navigazione del testo su OS X funziona (e dovrebbe funzionare) in questo modo:

  1. Naviga per riga (o documento, ovvero enormi blocchi di dati):

    cmd+ tasti freccia: si sposta per linee (sinistra / destra per le linee, su / giù per l'intero documento). Tenere premuto shiftper selezionare

  2. Naviga per parola (cioè piccoli blocchi di dati):

    alt+ tasti freccia: si sposta per parola (sinistra / destra). Tenere premuto shiftper selezionare.

Quindi per ottenere il tuo "risultato atteso" dovresti prima premere la freccia destra per portarla alla fine della selezione corrente e poi cmd+ shift+ per selezionare la linea che porta ad essa.

Quando si già dispone di una selezione:

  1. l'utilizzo della altcombinazione di tasti sopra riportata aumenterà / diminuirà la selezione in base alla direzione (modificando sempre il punto finale della selezione precedente, presumendo di aver perso leggermente il punto finale ). Lo stesso vale per l'aggiunta di singoli caratteri con i tasti MAIUSC + freccia.
  2. l' cmdaumento della combo in entrambe le direzioni, presumendo che dopo aver selezionato comunque grossi pezzi di testo .

Aggiornare

Per farla breve: quello che vuoi non è davvero possibile. Se si guarda l'elenco dei collegamenti disponibili delle chiavi di sistema eseguendo

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

Vedrai che anche se puoi associare chiavi personalizzate a tutte le funzioni di selezione, ~/Library/KeyBindings/DefaultKeyBinding.dict non esiste tale funzione che raggiunga il tuo comportamento richiesto (dal momento che questo comportamento non è incorporato nel sistema).


Penso che Apple Up e Apple Down vadano all'inizio e alla fine del documento e non navigino per pagina.
Nicolas Barbulesco,

1
@NicolasBarbulesco hai perfettamente ragione, avevo scritto "documento" solo una riga prima, non so perché ho scritto "pagine" dopo. Risolto il problema ora.
Asmus,
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.