Większość mojego czasu spędzam na komputerze (sporadycznie w systemie Windows). Na tych platformach klawisze Homei Enduniwersalnie przeskakują na początek lub koniec bieżącej linii.
Stopniowo przyzwyczajam się do korzystania z jednego komputera Apple w moim życiu, ale wciąż jest to frustrujące, ponieważ te klucze wydają się być związane z początkiem i końcem dokumentu i wydaje się, że nie ma żadnego klucza dla linii działania oparte na
Moje pytanie:
- Czy istnieją jakieś skróty klawiszowe, których brakuje mi na początku i na końcu linii? (Najczęściej używam terminala, Chrome i LibreOffice)
- Czy istnieje sposób na ponowne powiązanie funkcji tych klawiszy z funkcjami, które znam? Jestem gotów zrezygnować z wersji opartych na dokumentach, które wydają mi się mało przydatne.
Również dwa zastrzeżenia:
- Nie jestem jedynym użytkownikiem w systemie. Byłoby miło, gdyby moje ustawienia użytkownika nie uszkodziły doświadczeń innych ludzi. Jeśli nie jest to możliwe, myślę, że mam najsilniejsze preferencje!
- Używam wielu języków i przełączam się między układami klawiatury, więc wszelkie rozwiązania powinny działać, nawet przy przełączaniu między wieloma układami klawiatury.
Odpowiedzi:
Domyślne skróty do przejścia do początku lub końca (zawiniętych) linii to ⌘←i ⌘→. ⌥↑i ⌥↓lub ⌃Ai ⌃Eprzejdź do początku lub końca nieopakowanych linii (lub akapitów). ⌥←i ⌥→przechodź do tyłu / do przodu słowami, a wszystkie z nich są zgodne z przytrzymywaniem, Shiftaby wybrać podczas odpowiednich ruchów.
Możesz zmienić mapę domu i zakończyć, tworząc
~/Library/KeyBindings/
i zapisując listę nieruchomości w następujący sposóbDefaultKeyBinding.dict
:Większość skrótów klawiszowych do edycji tekstu w OS X jest zdefiniowana w
/System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict
.Zastosowanie zmian wymaga ponownego otwarcia aplikacji. DefaultKeyBinding.dict jest ignorowany przez niektóre starsze wersje Xcode (działa z najnowszą wersją 6.3.1), Terminal i wiele aplikacji wieloplatformowych.
Zobacz Cocoa Text System i moją stronę internetową, aby uzyskać więcej informacji na temat konfigurowalnych skrótów klawiszowych.
Skróty klawiszowe terminala można dostosować w Preferencje> Ustawienia> Klawiatura.
\033OH
przesuwa się na początek linii i\033OF
na koniec linii.W Eclipse powiązania klawiszy należy modyfikować w Preferencje> Ogólne> Klucze. Musisz zmodyfikować domyślne wiązania dla poleceń Początek linii i Koniec linii (zamień ⌘ ← na ↖ i ⌘ → na ↘). Aby wybór działał, zmodyfikuj także opcję Wybierz początek linii i Wybierz koniec linii .
PS: Może być konieczne wylogowanie i ponowne zalogowanie, aby
~/Library/KeyBindings/DefaultKeyBinding.dict
zmiana zaczęła obowiązywać.źródło
Obecnie korzystam z Lion 10.7.4 iz jakiegoś dziwnego powodu edycja
~/Library/KeyBindings/DefaultKeyBinding.dict
nie działała dla mnie.Przekonałem się, że dodatek Preferencje systemowe KeyRemap4MacBook (który nazywa się teraz Karabiner ) działa naprawdę dobrze, a także można z nim mapować różne klucze bez konieczności edytowania plików tekstowych. Np. Zmiana klawiszy strona w górę / strona w dół, aby kursor podążał również za stroną w górę / w dół.
Wystarczy pobrać dodatek, a następnie w panelu Preferencji systemowych przejdź do
For PC Users
sekcji i sprawdźUse PC Style Home /End
.Zauważ, że wybrałem
(Change Home to Command+Left)
zamiast(Change Home to Control+A)
, tak jak gdybym wybrał pierwszy, a jeśli linia zostanie owinięta, dom zabierze mnie na początek owiniętej linii, kilka linii powyżej, zamiast zabrać mnie na początek bieżącej linii.źródło
Dzięki temu artykułowi dowiedziałem się, jak ponownie powiązać klawisze Homei Endz działaniami opartymi na wierszach w zależności od użytkownika, który działa w różnych układach klawiatury.
Musisz utworzyć plik słownika z kodami klawiszy i nowymi poleceniami do mapowania, ale najpierw upewnij się, że folder, w którym zostanie on umieszczony, istnieje, otwierając Terminal i uruchamiając:
Następnie utwórz lub edytuj plik w
~/Library/KeyBindings/DefaultKeyBinding.dict
. Jeśli wcześniej nie istniał, dodaj całą sekcję poniżej. Jeśli tak, po prostu dodaj cztery nowe wiersze w bloku.Aby aktywować ustawienia, musisz się wylogować i ponownie zalogować.
Zauważ, że dotyczy to zarówno normalnej akcji przesuwania kursora, jak i kombinacji Shift+ Home/ w Endcelu wybrania podczas ruchu kursora.
źródło
Używam OS X Sierra, a
~/Library/KeyBindings/DefaultKeyBinding.dict
rozwiązanie sugerowane przez innych użytkowników częściowo zadziałało: niektóre aplikacje, takie jak TextEdit, mają teraz pożądane zachowanie, ale inne aplikacje nie. Google Chrome i Slack to dwa, które wydają się nie szanowaćDefaultKeyBinding.dict
pliku.Aby naprawić pozostałe aplikacje, użyłem BetterTouchTool do utworzenia specyficznych dla aplikacji skrótów klawiaturowych
Home
orazEnd
do rodzimych skrótów OS XCtrl+A
iCtrl+E
. BetterTouchTool nie jest darmowy, ale obowiązuje 45-dniowy okres próbny.Aby to zrobić:
+
i wybierz aplikację, którą chcesz naprawić.Home
klawisz w polu „skrót do rekordu” i ustaw „Wyzwalaj inny skrót klawiaturowy” na Ctrl + A. Powtórz dlaEnd
i Ctrl + E.Uwaga: nie zamykaj aplikacji BetterTouchTool, ponieważ przestanie ona przechwytywać naciśnięcia klawiszy. Wystarczy zamknąć okno, aby kontynuować pracę w tle.
źródło
Używam niesamowitego KeyRemap4MacBook z niestandardowymi ustawieniami poniżej.
Naprawia Home / End w większości aplikacji i nie psuje iTerm2.
Od https://gist.github.com/lhotari/6134223181439b9ed0a1
źródło
Znalazłem następujące przydatne dla
iterm2
izsh
z cytatami z tego miejsca :Powtórz dla
End
klawisza z[~4
sekwencją klawiszy Escape.źródło
bindkey "^[[~4" end-of-line
. Zwróć uwagę na pozycję 4.^[[4~
echo,4
gdy^[[~4
przesuwa kursor na koniec linii.^[[4~
. Jakiego rodzaju klawiatury i kodowania znaków używasz, może to robi różnicę?Imho najlepszym narzędziem do wprowadzania zmian w klawiaturze jest rzeczywiście Karabiner (stara nazwa KeyRemap4MacBook). Oprogramowanie typu open source ( https://github.com/tekezo/Karabiner ), ale także dostępne jako aplikacja ( https://pqrs.org/osx/karabiner/index.html.en ). Długo szukałem i nigdy nie znalazłem nic lepszego.
źródło
Osiągnąłem to za pomocą Karabiner Elements .
Musisz zaktualizować sekcję reguł o
~/.config/karabiner/karabiner.json
tablicę JSON z kodu poniżej. Powoduje to ponowne mapowanie klawiszy home i end, aby działały tak, jak działają na PC / Windows.patrz także: github gist
źródło
Odpowiedź Lri jest niesamowita ( dziękuję bardzo; doprowadzało mnie to do szaleństwa ), ale ostatecznie trochę ją zmodyfikowałem.
(W tej odpowiedzi używam nieprzydatnych nazw dla klawiszy, więc polecenie = super i opcja = alt.)
Super-lewa i super-prawa kiedyś były faktycznie mapowane na
moveToLeftEndOfLine
imoveToRightEndOfLine
. UżywaniemoveToBeginningOfLine
imoveToEndOfLine
, podobnie jak @Lri, może powodować niespójne zachowanie.Istnieje wiele innych różnic między skrótami appley i dosłownie skrótami wszystkich innych, które dodałem. Na przykład, ctrl-lewy i ctrl-prawny powinny poruszać się między słowami; nie alt-left i alt-right. Nie sądzę, żeby to było wyczerpujące, ale teraz działa dla mnie całkiem dobrze. Zakładałem, że użytkownik zamienił już klawisze Control i Super, aby naprawić wycinanie, kopiowanie i wklejanie.
źródło
Możesz także ponownie mapować klawisze klawiatury, a także dostosowywać mysz i gładzik na wiele fajnych sposobów, korzystając z bezpłatnego BetterTouchTool, dostępnego na stronie http://blog.boastr.net/ . Doskonałe rozwiązanie do dostosowywania działania urządzeń wejściowych!
źródło