Ich habe Text über meine Tastatur ausgewählt, beginnend in der unteren Zeile und nach oben (das Zeichen | gibt die Cursorposition an):
AAA | {BBB CCC
DDD} EEE FFF
Jetzt möchte ich die Auswahl so ändern, dass sie am Ende der ersten Zeile beginnt , dh so, dass sie 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 ⌘ ⇧ →, direkt zum Ende der ersten Zeile zu springen. In vielen anständigen Texteditoren funktioniert dies einwandfrei (zum Beispiel Sublime Text 2). Sie halten auch die |
Position sichtbar, wenn nebenbei Text ausgewählt wird.
Das Standardverhalten von OSX-Apps besteht jedoch darin, dass sie die Tatsache ignorieren, dass sich der Cursor derzeit am Anfang der Auswahl befindet. Wenn Sie ihn nach rechts bewegen, wird die Auswahl dort entfernt. Erweitert stattdessen ⌘ ⇧→immer die Auswahl von ihrem Ende bis zum Ende der Zeile, unabhängig davon, wo sich der Cursor gerade befindet:
Tatsächliche Ergebnis:
AAA {BBB CCC
DDD EEE FFF} |
Gibt es eine Möglichkeit, auch native OSX-Apps so zu gestalten, wie sie sich erwarten?
Ich bin auf OSX Yosemite 10.10.2, aber ich denke, dieses Problem ist schon so lange vorhanden, wie ich mich erinnern kann.
quelle
select text between the insertion point and the end of the current line
. Die einzige Zeile in Ihrem Beispiel, in der die Auswahl noch nicht das Zeilenende enthält , ist die letzte Zeile. Das erwartete Verhalten in OS X besteht also darin, die Auswahl von dort aus zu erweitern und nicht in der Anfangszeile zu verkürzen! Ich weiß, dass sich einige Editoren anders verhalten, aber sie machen es falsch, nicht das System!(*)
bedeutet?(*)
bedeutet, aber es ist wahrscheinlich von früheren Versionen der Dokumentation übrig geblieben. Ich habe meine Antwort leicht aktualisiert, um die mir bekannte globale Option "Nur Schlüsselbindung" aufzunehmen, aber leider bin ich mir ziemlich sicher, dass es keine Möglichkeit gibt, das zu erreichen, wonach Sie suchen. Da das Verhalten nicht integriert ist, können Anwendungen jetzt nicht mehr damit umgehen, selbst wenn Sie es auslösen könnten.Antworten:
Der Mac verwendet die Cursorposition nicht, wenn Sie mehrere Texte auswählen. Der Cursor befindet sich auf "Alle ausgewählten Texte".
Sie können dies demonstrieren, wenn Sie Cmd ⌘ Shift ⇧ ← anstelle von →
Hinzufügen zur Auswahl mit Shift ⇧ der vorherigen Auswahl verwenden.
Kein Fix, aber eine Problemumgehung, → die den Cursor an das Ende Ihrer aktuellen Auswahl bewegt, gleichzeitig die Auswahl aufhebt und dann Cmd ⌘ Shift ⇧ ← zum Zeilenanfang auswählt.
quelle
So wie ich es sehe, funktioniert die Textnavigation unter OS X wie folgt (und wird voraussichtlich funktionieren):
Navigieren Sie pro Zeile (oder Dokument, dh große Datenmengen):
cmd+ Pfeiltasten: bewegt sich nach Zeilen (links / rechts für Zeilen, nach oben / unten für das gesamte Dokument). Halten Sie shiftzur Auswahl gedrückt
Navigieren Sie pro Wort (dh kleine Datenblöcke):
alt+ Pfeiltasten: bewegt sich nach Wort (links / rechts). Halten Sie shiftzur Auswahl gedrückt.
Um Ihr "erwartetes Ergebnis" zu erzielen, sollten Sie zuerst den Rechtspfeil drücken, um zum Ende Ihrer aktuellen Auswahl zu gelangen, und dann cmd+ shift+ ← , um die Linie auszuwählen, die dazu führt.
Wenn Sie bereits haben eine Auswahl:
Aktualisieren
Lange Rede, kurzer Sinn: Was Sie wollen, ist nicht wirklich möglich. Wenn Sie sich die Liste der verfügbaren Systemschlüsselbindungen ansehen, indem Sie ausführen
Sie werden sehen, dass
~/Library/KeyBindings/DefaultKeyBinding.dict
es keine solche Funktion gibt, die Ihr angefordertes Verhalten erreicht , obwohl Sie benutzerdefinierte Schlüssel an alle Auswahlfunktionen binden können (da dieses Verhalten nicht in das System integriert ist).quelle