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
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 ⌥ ⇧ →:
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}|
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.
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.
So wie ich es sehe, funktioniert (und wird erwartet) die Textnavigation unter OS X wie folgt:
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
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 :
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.dict
es keine solche Funktion gibt, die Ihr gewünschtes Verhalten erreicht (da dieses Verhalten nicht in das System integriert ist).
0942v8653
Jakub Roztocil
Jakub Roztocil
Asmus
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!Jakub Roztocil
Jakub Roztocil
(*)
bedeutet?Asmus
(*)
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.Jakub Roztocil
bassim