Czy można przesuwać kursor słowo po słowie za pomocą Cmd + lewo / prawo zamiast Alt + lewo / prawo?


13

Chciałbym użyć Cmd+ / zamiast Alt+ /, aby przesunąć kursor słowo po słowie w Mac OSX (Chyba coś kakaowego).

Czy można to zmienić?

Z tego samego powodu chciałbym przesunąć kursor na początek i koniec linii za pomocą Alt+ / zamiast Cmd+ / .

Czy da się to zrobić?

Odpowiedzi:


9

Jedną z opcji byłoby utworzenie ~ / Library / KeyBindings / i zapisanie tego jako DefaultKeyBinding.dict:

{
    "@\UF702" = moveWordBackward:;
    "@\UF703" = moveWordForward:;
    "~\UF702" = moveToBeginningOfLine:;
    "~\UF703" = moveToEndOfLine:;
    "~$\UF702" = moveToBeginningOfLineAndModifySelection:;
    "~$\UF703" = moveToEndOfLineAndModifySelection:;
}

Nie można jednak zmienić ⇧⌘ ← lub ⇧⌘ →. I to nie działa w niektórych widokach tekstu, Xcode lub Firefox.

Korzystając z KeyRemap4MacBook, możesz dodać to do private.xml :

<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_COMMAND</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_COMMAND</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, VK_SHIFT | VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_SHIFT | VK_COMMAND</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, VK_SHIFT | VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_SHIFT | VK_COMMAND</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, VK_COMMAND | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_OPTION</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, VK_COMMAND | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_OPTION</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_OPTION | VK_SHIFT</autogen>
<autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_OPTION | VK_SHIFT</autogen>

Powodowałoby to, że cofanie się z tab ← i zmiana zakładek z ⇧⌘ ← przestałyby działać.

Zobacz źródło dla stałych kodu klucza i predefiniowanych ustawień .


Pierwsza opcja jest najlepsza, ponieważ nie zastępuje innych skrótów klawiszowych. Również ta strona jest doskonałym źródłem informacji na temat dostosowywania DefaultKeyBinding.dict
aaaaaa

3

Tak. Korzystając z Keyboard Maestro , właśnie utworzyłem dwa nowe makra.

Pierwszy ma „wyzwalacz skrótu” <polecenie> <strzałka w lewo> i „wpisuje naciśnięcie klawisza” z <opcja> <strzałka w lewo>

Drugi to odwrotność, „wyzwalanie klawisza skrótu” <opcja> <strzałka w lewo> i wykonuje „naciśnięcie klawisza” <polecenie> <strzałka w lewo>. I to działa.

Następnie możesz dodać 2 dodatkowe makra we właściwym kierunku.

Sposób, w jaki napisałem je jako szybki test, obejmuje cały system, ale można je ograniczyć do określonych zestawów aplikacji.

Chociaż Keyboard Maestro nie jest darmowy, ma ograniczoną czasowo wersję demonstracyjną.


Dzieki za sugestie. Wolałbym darmową metodę. Założę się, że jest jakiś sposób, aby jakoś
zagłębić się

+1 To najlepsza opcja dla mnie w systemie macOS Sierra. Użyłem go do zmiany mapowania słów i słów „podskakujących” w celu dopasowania kombinacji Windows.
Sébastien

Działa to dla mnie idealnie. Klawiatura Maestro jest wyjątkowo wydajna i może być używana do wielu automatyzacji.
Nick Alexander

1

Użyłem KeyBindingsEditor (darmowy) do edycji DefaultKeyBindings.dicti działa świetnie (nawet w Firefox i XCode).

ustawienia kursora za pomocą KeyBindingsEditor

Pozostawienie przycisku kciuka na klawiszu while podczas przesuwania kursora tekstowego działa o wiele lepiej - powinien być domyślny!


Nie próbowałem tego w Yosemite. Czy wiesz, czy nadal działa?
trusktr

To robi!! :) :) :)
trusktr

Wygląda na to, że nie działa w Sierra - okno aplikacji nie wyświetla się :(
Petr Újezdský

1

Polecam karabinka do ciebie. To potężna wtyczka systemowa do mapowania klawiszy i kombinacji klawiszy. Możesz mapować dowolne kluczowe kombinacje na cokolwiek w swoim umyśle. Sprawdź to, a się w nim zakochasz


Jak dokładnie trzeba skonfigurować Karabiner, aby wykonać zadanie opisane w pytaniu?
nohillside

Lubię Karabiner. Chyba musiałbym spojrzeć na kod źródłowy, aby dowiedzieć się, jak to działa.
trusktr 20.04.16

wystarczy ustawić cmd + left jako wyzwalacz dla karabinka, aby wysłać zdarzenie alt + left. Możesz nawet ograniczyć ponowne mapowanie kluczy w niektórych aplikacjach lub oknach
huangzonghao
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.