OSX: Ändern der Textauswahl mit ⌘⇧→ und ⌘⇧←

Ich habe mit meiner Tastatur Text ausgewählt, beginnend in der untersten Zeile und nach oben bewegt (das Zeichen | zeigt die Cursorposition an):

AAA |{BBB CCC

DDD} EEE FFF

Auswahl erstellen


Nun möchte ich die Auswahl so ändern, dass sie am Ende der ersten Zeile beginnt , also so aussieht:

Erwartetes Ergebnis:

AAA-BBB-CCC |{

DDD} EEE FFF


Ich kann die Auswahl Wort für Wort reduzieren mit :

manipulieren Sie die Auswahl mit den Wahl-Umschalt-Pfeilen


Aber der natürliche Weg, dies zu tun, wäre über , direkt an das Ende der ersten Zeile zu springen. In vielen anständigen Texteditoren funktioniert dies gut (z. B. Sublime Text 2). Sie halten übrigens auch die |Position sichtbar, wenn Text ausgewählt ist.

Das Standardverhalten von OSX-Apps ist jedoch, dass sie die Tatsache ignorieren, dass sich der Cursor derzeit am Anfang der Auswahl befindet, und eine Bewegung nach rechts die Auswahl dort entfernen sollte. Erweitert stattdessen die Auswahl immer von ihrem Ende bis zum Ende der Zeile, egal wo sich der Cursor gerade befindet:

Tatsächliche Ergebnis:

AAA {BBB CCC

DDD EEE FFF}|

manipulieren Sie die Auswahl mit Befehl-Umschalt-Pfeile


Gibt es eine Möglichkeit, dass sich auch native OSX-Apps wie erwartet verhalten?

Ich verwende OSX Yosemite 10.10.2, aber ich denke, dieses Problem besteht schon seit ich denken kann.

Ich kann das in 10.10.1 reproduzieren – vielleicht wurde es in der Beta behoben?
Ich bin auf Yosemite 10.10.2 (füge es jetzt auch der Frage hinzu). Aber ich denke, das war schon immer so. Ich verwende hauptsächlich Code-Editoren mit guten Textbearbeitungsfunktionen, aber ich würde gerne eine Lösung auf Betriebssystemebene dafür finden.
Ich habe die Frage auch mit einigen animierten Gifs aktualisiert, um das Problem besser verständlich zu machen.
Bitte werfen Sie einen Blick auf dieses Apple Support-Dokument , das besagt, dass cmd+Shift+Pfeil nach rechts select text between the insertion point and the end of the current line. Die einzige Zeile in Ihrem Beispiel, bei der die Auswahl nicht bereits das Zeilenende enthält , ist die letzte Zeile. Das erwartete Verhalten in OS X ist also, die Auswahl von dort aus zu erweitern, nicht sie in der Anfangszeile zu kürzen! Ich weiß, dass sich einige Redakteure anders verhalten, aber sie machen es falsch , nicht das System!
@Asmus Vielen Dank für den Link. Das standardmäßige OSX-Verhalten entspricht tatsächlich dem, was auf dieser Seite dokumentiert ist, also ist es technisch korrekt. Meine Frage bleibt jedoch bestehen – ist es möglich, es global zu ändern, so dass es sich wie in fortgeschritteneren Editoren (und übrigens unter Linux und Windows) verhält?
@Asmus Nach der Beschreibung dieser (und vieler anderer) Tastenkombinationen befindet sich ein kleines Sternchen, aber es gibt keine Erklärung dafür. Irgendeine Ahnung, was das (*)bedeutet?
Keine Ahnung, was das (*)bedeutet, aber es ist wahrscheinlich von früheren Versionen der Dokumentation übrig geblieben. Ich habe meine Antwort leicht aktualisiert, um die mir bekannte Option nur für globale Tastenkombinationen einzuschließen, aber leider bin ich mir ziemlich sicher, dass es keine Möglichkeit gibt, das zu erreichen, wonach Sie suchen. Da das Verhalten nicht eingebaut ist, wissen Anwendungen jetzt nicht, wie sie damit umgehen sollen, selbst wenn Sie es auslösen könnten.
Danke, @Asmus. Ich habe Ihre Antwort positiv bewertet. Ich werde ein bisschen warten, bevor ich es akzeptiere, falls jemand eine geniale Lösung findet.
Das bringt mich auch jedes Mal auf die Palme. Das Ignorieren der impliziten Cursorposition ist sehr kontraintuitiv. Meine Problemumgehung besteht darin, ⌥ + ⇧ zusammen mit den Pfeiltasten zu verwenden, was sich wie erwartet verhält und zumindest etwas schneller ist, als Zeichen für Zeichen zu gehen.

Antworten (2)

Der Mac verwendet die Cursorposition nicht, wenn Sie eine Mehrfachtextauswahl haben, er geht davon aus, dass sich der Cursor bei "gesamt ausgewählter Text" befindet.

Sie können dies demonstrieren, wenn Sie Cmd ⌘ Shift ⇧ anstelle von
Hinzufügen zur Auswahl mit Shift ⇧ die vorherige Auswahl verwenden.

Keine Lösung, aber eine Problemumgehung könnte darin bestehen, den Cursor an das Ende Ihrer aktuellen Auswahl zu bewegen, ihn gleichzeitig abzuwählen und dann Cmd ⌘ Shift ⇧ zum Anfang der Zeile auszuwählen.

Was bedeutet das? "Eine mehrfache Textauswahl".

So wie ich es sehe, funktioniert (und wird erwartet) die Textnavigation unter OS X wie folgt:

  1. Navigieren Sie pro Zeile (oder Dokument, dh riesige Datenmengen):

    cmd+Pfeiltasten : bewegt sich zeilenweise (links/rechts für Zeilen, hoch/runter für das gesamte Dokument). shiftZum Auswählen gedrückt halten

  2. Navigieren Sie pro Wort (dh kleine Datenblöcke):

    alt+Pfeiltasten : bewegt sich wortweise (links/rechts). shiftZum Auswählen gedrückt halten .

Um Ihr "erwartetes Ergebnis" zu erzielen, sollten Sie also zuerst den rechten Pfeil drücken, um es an das Ende Ihrer aktuellen Auswahl zu bringen, und dann cmd+ shift+ , um die Zeile auszuwählen, die dorthin führt.

Wenn Sie bereits eine Auswahl haben :

  1. Mit den altobigen Tastenkombinationen wird die Auswahl basierend auf der Richtung erhöht / verringert (wobei Sie immer den Endpunkt Ihrer vorherigen Auswahl ändern, vorausgesetzt , Sie haben den Endpunkt leicht verpasst ). Gleiches gilt für das Hinzufügen einzelner Zeichen nur mit Umschalt+Pfeiltasten.
  2. die cmdCombo-Erhöhung in beide Richtungen, vorausgesetzt, Sie sind sowieso danach , große Textstücke auszuwählen .

Aktualisieren

Lange Rede kurzer Sinn: Was Sie wollen, ist nicht wirklich möglich. Wenn Sie sich die Liste der verfügbaren Systemtastenbelegungen ansehen, indem Sie ausführen

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

Sie werden sehen, dass, obwohl Sie benutzerdefinierte Tasten an alle Auswahlfunktionen binden können, ~/Library/KeyBindings/DefaultKeyBinding.dictes keine solche Funktion gibt, die Ihr gewünschtes Verhalten erreicht (da dieses Verhalten nicht in das System integriert ist).

Ich denke, dass Apple Up und Apple Down zum Anfang und Ende des Dokuments gehen und nicht seitenweise navigieren.
@NicolasBarbulesco du hast völlig Recht, ich hatte nur eine Zeile zuvor "Dokument" geschrieben, weiß nicht, warum ich als nächstes "Seiten" geschrieben habe. Habe es jetzt behoben.