Possible to move the cursor word-by-word with Cmd+left/right instead of Alt+left/right?

apple.stackexchange https://apple.stackexchange.com/questions/375792

  •  25-05-2021
  •  | 
  •  

Pergunta

I would like to use Cmd+/ instead of Alt+/ to move the cursor word by word in Mac OSX (A Cocoa thing I guess).

Is it possible to change that?

And by the same token, I would like to move the cursor to the beginning and end of the line by using Alt+/ instead of Cmd+/.

Can it be done?

Foi útil?

Solução

One option would be to create ~/Library/KeyBindings/ and save this as DefaultKeyBinding.dict:

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

You can't change ⇧⌘← or ⇧⌘→ though. And it doesn't work in some text views or Xcode or Firefox.

Using KeyRemap4MacBook, you could add this to 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>

It would make going back with ⌘← and changing tabs with ⇧⌘← stop working though.

See the source for the key code constants and predefined settings.

Outras dicas

Yes. Using Keyboard Maestro, I just created two new macros.

The first has a "hot key trigger" of < command >< left arrow > and does a "type a keystroke" of < option >< left arrow >

The second is the reverse, a "hot key trigger" of < option >< left arrow > and does a "type a keystroke" of < command >< left arrow >. And it does work.

You could then add 2 more macros for the right direction.

The way I wrote them as a quick test they are system wide but they can be limited to specific sets of applications.

While Keyboard Maestro is not free, it does have time limited demo.

I've used KeyBindingsEditor (free) to edit the DefaultKeyBindings.dict and it works great (even in Firefox and XCode).

cursor settings with KeyBindingsEditor

Leaving the thumb button on the ⌘ key while cruising the text cursor works so much better -- it should be the default!

I would recommend karabiner to you. It's a powerful system plugin to remap keys and key combinations. You can map whatever key combos you want to whatever in your mind. Please check it out and you will fall in love with it

Licenciado em: CC-BY-SA com atribuição
Não afiliado a apple.stackexchange
scroll top