Wybrałem tekst za pomocą klawiatury, zaczynając od dolnego wiersza i przesuwając w górę ( znak | wskazuje pozycję kursora):
AAA | {BBB CCC
DDD} EEE FFF
Teraz chciałbym zmienić zaznaczenie, aby zaczynało się na końcu pierwszego wiersza , tzn. Aby wyglądało tak:
Spodziewany wynik:
AAA BBB CCC | {
DDD} EEE FFF
Mogę zmniejszyć wybór słowo po słowie za pomocą ⌥ ⇧ →:
Ale naturalnym sposobem jest ⌘ ⇧ →przejście bezpośrednio do końca pierwszej linii. W wielu porządnych edytorach tekstu działa to dobrze (na przykład Sublime Text 2). Zachowują także |
widoczność pozycji po zaznaczeniu tekstu.
Domyślne zachowanie aplikacji OSX polega jednak na tym, że ignorują one fakt, że kursor znajduje się na początku zaznaczenia, a przesunięcie go w prawo powinno tam usunąć zaznaczenie. Zamiast tego ⌘ ⇧→zawsze rozszerza zaznaczenie od jego końca do końca linii, bez względu na to, gdzie aktualnie znajduje się kursor:
Aktualny rezultat:
AAA {BBB CCC
DDD EEE FFF} |
Czy jest jakiś sposób, aby natywne aplikacje OSX zachowywały się w oczekiwany sposób?
Korzystam z systemu OSX Yosemite 10.10.2, ale myślę, że ten problem istniał tak długo, jak pamiętam.
źródło
select text between the insertion point and the end of the current line
. Jedyną linią w twoim przykładzie, w której zaznaczenie nie obejmuje jeszcze końca linii , jest ostatnia linia. Tak oczekiwane zachowanie w OS X jest rozszerzenie wybór stamtąd, aby nie przeciąć go krótko w linii początku! Wiem, że niektórzy Redaktorzy zachowują się inaczej, ale robią to źle, a nie system!(*)
znaczy?(*)
znaczy, ale prawdopodobnie pozostało z poprzednich wersji dokumentacji. Nieznacznie zaktualizowałem swoją odpowiedź, aby uwzględnić opcję globalnego przypisywania klawiszy, o której wiem, ale niestety jestem prawie pewien, że nie ma sposobu na osiągnięcie tego, czego szukasz. Ponieważ zachowanie nie jest wbudowane, aplikacje nie mogłyby teraz sobie z tym poradzić, nawet gdyby można je było uruchomić.Odpowiedzi:
Mac nie używa pozycji kursora, jeśli masz zaznaczony tekst wielokrotny, uważa, że kursor znajduje się na „całym zaznaczonym tekście”.
Możesz zobaczyć to zademonstrowane, jeśli używasz Cmd ⌘ Shift ⇧ ← zamiast →
dodawania do wyboru z Shift ⇧ obejmuje poprzedni wybór.
Nie jest to poprawka, ale może być obejście tego problemu, → które przesuwałoby kursor na koniec bieżącego zaznaczenia, jednocześnie odznaczając go, a następnie Cmd ⌘ Shift ⇧ ← wybierając na początku linii.
źródło
Z mojego punktu widzenia nawigacja tekstowa w systemie OS X działa (i powinna działać) w następujący sposób:
Nawiguj po linii (lub dokumencie, tj. Dużych porcjach danych):
cmd+ klawisze strzałek: przesuwa się o linie (w lewo / w prawo dla linii, w górę / w dół dla całego dokumentu). Przytrzymaj, shiftaby wybrać
Nawiguj po słowie (tj. Małe porcje danych):
alt+ klawisze strzałek: porusza się po słowie (lewo / prawo). Przytrzymaj, shiftaby wybrać.
Aby więc osiągnąć „oczekiwany wynik”, należy najpierw nacisnąć strzałkę w prawo, aby przejść do końca bieżącego wyboru, a następnie cmd+ shift+, ← aby wybrać linię prowadzącą do niego.
Gdy już masz wybór:
Aktualizacja
Krótko mówiąc: to, czego chcesz, nie jest tak naprawdę możliwe. Jeśli spojrzysz na listę dostępnych powiązań kluczy systemowych, uruchamiając
Przekonasz się, że nawet jeśli możesz przypisać klucze niestandardowe do wszystkich funkcji wyboru,
~/Library/KeyBindings/DefaultKeyBinding.dict
nie ma takiej funkcji, która osiąga żądane zachowanie (ponieważ takie zachowanie nie jest wbudowane w system).źródło