Teraz, kiedy naciśnę opcję-b, otrzymam ∫. Nie muszę wpisywać znaków specjalnych i muszę mapować opcję-b na skróty do określonych aplikacji. Czy jest na to sposób?
Teraz, kiedy naciśnę opcję-b, otrzymam ∫. Nie muszę wpisywać znaków specjalnych i muszę mapować opcję-b na skróty do określonych aplikacji. Czy jest na to sposób?
Odpowiedzi:
Miałem dokładnie ten sam problem, w tym samym IDE.
Rozwiązaniem tego problemu jest pobranie Ukulele stąd:
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele
W aplikacji możesz utworzyć nowy układ klawiszy za pomocą Plik -> Nowy z bieżącego źródła. Naciśnięcie Option pokaże ci w miejscu Option-b czerwony klawisz - co oznacza, że jest to martwy klawisz . Dwukrotne kliknięcie pozwoli ci zmienić go z martwego klucza na klucz wyjściowy. Gdy pojawi się monit o wyjście, możesz wpisać to samo (naciskając Option-b).
W ten sposób wyświetli ten sam znak, ale nie będzie uważany za martwy klawisz, więc Intellij może powiązać go jako skrót.
Aby włączyć nowy układ, musisz zapisać go w ~ / Library / Keyboard Layouts (pomaga, jeśli nadasz mu nową nazwę za pomocą Klawiatura -> Ustaw nazwę klawiatury), a następnie włączyć go w Preferencjach systemowych -> Język i tekst.
Możesz utworzyć niestandardowe mapowanie klawiatury z literami opcji ustawionymi na PUSTE za pomocą narzędzia online z tej strony . Możesz utworzyć własne mapowanie za pomocą kilku kliknięć z prawie każdego układu klawiatury. Udowodniono, że działa na MacOSX 10.7+ z IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.
Wybierz w formularzu radio „Ustaw puste dla klawisza opcji” , prześlij formularz i pobierz poprawiony układ klawiatury z wyłączoną funkcją klawisza „opcja”. Udostępniam plik roboczy dla standardowego układu klawiatury w języku angielskim (USA):
Po włączeniu tego niestandardowego mapowania, jeśli wpiszesz literę z wciśniętym klawiszem „opcja”, nic nie zostanie wydrukowane na wyjściu tekstowym. Ale „naciśnięcie klawisza opcji” jest wyzwalane przez system operacyjny i wykrywane przez IDE. Dzięki temu uzyskujesz dokładnie to samo zachowanie, co w przypadku innych klawiszy poleceń!
My Layout.keylayout
.~/Library/Keyboard\ Layouts/
System Preferences
->Language & Text
Input Sources
-> (hit +)
->Select Others
My Layout
na liście i wybrać ją.Krok 4 może się nieznacznie zmienić w wersjach MacOS. Prosimy o cierpliwość, aby znaleźć listę układów klawiatury w ustawieniach.
®
teraz r
IntelliJ :(
Oto szczegółowe kroki prowadzące do odpowiedzi Sebastiana Zahy. (Skończyło się na tym, że trochę grzebałem, zanim to zadziałało).
(Alternatywnie tutaj jest gotowy plik mojego autorstwa )
Użyj Ctrl-Alt-<MNEMONIC>
. IMHO jest o wiele łatwiejsze niż konieczność instalowania i konfigurowania osobnej aplikacji.
Mam rozwiązanie! Umieść plik w: ~/Library/KeyBindings/DefaultKeyBinding.dict
as:
/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
{
/* Additional Emacs bindings */
"~f" = "moveWordForward:";
"~b" = "moveWordBackward:";
"~<" = "moveToBeginningOfDocument:";
"~>" = "moveToEndOfDocument:";
"~v" = "pageUp:";
"~d" = "deleteWordForward:";
"~^h" = "deleteWordBackward:";
"~\010" = "deleteWordBackward:"; /* Option-backspace */
"~\177" = "deleteWordBackward:"; /* Option-delete */
/* Escape should really be complete: */
"\033" = "complete:"; /* Escape */
}
Ukryje oryginalne dane tekstowe. Ale nadal możesz to uzyskać, używając Ctrl-Q przed kombinacją. Na przykład Ctrl-Q Alt-f daje mi ƒ. W rzeczywistości piszę tę odpowiedź z włączoną opcją przypisania klawiszy. Możesz także dodać inne klucze, które lubisz! Oficjalne odniesienie: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html
Oto dobra lista rzeczy, z którymi możesz się powiązać: https://www.hcs.harvard.edu/~jrus/site/selectors.html
Aha, tak przy okazji, jeśli przypiszesz klawisz do nieokreślonej akcji, twoja aplikacja będzie miała wyciek pamięci, a systemowi za kilka sekund skończy się pamięć. Przetestowany na el capitan, w trudny sposób.
Miałem ten sam problem na nowym Macbooku z VSCode, który działał dobrze na moim starym Macbooku. Kiedy wpisałem alt-shift-f jako format, otrzymałem zamiast tego Unicode. Zdałem sobie sprawę, że różnica polegała na tym, że mój stary Macbook miał brytyjską klawiaturę zamiast domyślnego „ABC - Extended”. Dodanie brytyjskiej klawiatury rozwiązało problem.
W środowisku Apple JRE kombinacje klawiszy opcji będą działać jako skróty zamiast wstawiać znaki specjalne.
Link do pobrania: https://support.apple.com/kb/DL1572?locale=en_US
To stare, przestarzałe środowisko JRE (oparte na Javie 6), ale od października 2015 r. Nadal wydaje się działać najlepiej z moją instalacją JetBrains RubyMine. (Cokolwiek innego, klawisze wracają do wstawiania znaków specjalnych.)
Znalazłem przyzwoite obejście. Używam oprogramowania Karabiner, aby zmienić mój prawy klawisz Enter, aby kontrolować, gdy jest przytrzymany.
Więc to, co zrobiłem iv, to przemapowanie klawisza opcji na opcję + cmd + kontrola, ponieważ nie znam żadnych poleceń używających wszystkich trzech modyfikatorów. Teraz mogę odwzorować odpowiednie skróty bez żadnych znaków. Ale w razie potrzeby możesz również mapować na dodatkowe klucze
Dodaj to do swojego private.xml: (pomiędzy katalogiem głównym)
<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__
KeyCode::OPTION_L,
KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__
KeyCode::OPTION_R,
KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>
Następnie załaduj ponownie xml i włącz opcję u góry zakładki „Zmień klucz”
Użyj ABC jako metody wprowadzania zamiast ABC-Extended, wtedy opcja + [znak] będzie mogła użyć skrótu aplikacji zamiast pokazywać znak specjalny.