Faça o Mac OS X "Option-Arrow" funcionar como Windows "Ctrl-Arrow"


20

Confio no comando " Ctrl- →" no Windows para navegar pelos documentos de texto.

Essa combinação de teclas útil me levará rapidamente ao início da próxima palavra. Por exemplo, a sequência a seguir ilustra o que aconteceria com a localização do cursor após pressionar sucessivamente Ctrl- - →(o "^" representará o cursor):

^The quick brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick brown fox ^jumped over the lazy dog
...

E, se eu começar a pressionar o botão ←, ele moverá o cursor para exatamente os mesmos pontos no documento, apenas indo na outra direção (o que é ideal porque a posição do cursor é previsível, o que me leva a ser mais rápido em fazer o meu edições):

The quick brown fox ^jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

O Mac OS X possui um atalho de teclado semelhante ( Option- →- mapei " Ctrl" para " Option" especificamente para que eu possa obter essa mesma funcionalidade da maneira como me acostumei).

No entanto, " Option- Arrow" leva-me ao final da palavra atual ao usar a tecla de seta para a direita, conforme ilustrado aqui:

^The quick brown fox jumped over the lazy dog
The^ quick brown fox jumped over the lazy dog
The quick^ brown fox jumped over the lazy dog
The quick brown^ fox jumped over the lazy dog
The quick brown fox^ jumped over the lazy dog
...

E, o que é pior, ir na outra direção não o leva de volta ao mesmo ponto em que avança, mas o leva ao início da última palavra:

The quick brown fox^ jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Isso é extremamente frustrante para mim, pois preciso alternar entre Windows e Mac com frequência, e muito raramente quero ir para o final da palavra atual (por que eu iria querer isso, a menos que esteja segurando " Shift" também? ) Eu sempre quero pular para o início da próxima palavra.

Estou disposto a fazer alguns esforços para que a versão para Mac funcione da mesma maneira (compre um software, escreva um comando Applescript personalizado vinculado a esses atalhos de teclado), por isso estou procurando sugestões.

Existem ferramentas existentes que mudarão isso para mim?

Como você sugeriria "consertar" isso?

obrigado

EDITAR

Consegui fazer um "Serviço" no Automator e usei o seguinte AppleScript:

on run {input, parameters}

    tell application "System Events" to key code 124 using {option down}
    tell application "System Events" to key code 124

end run

Em seguida, vinculei este Serviço ao pressionamento de tecla " Command- →" usando as configurações de "Teclado" nas Preferências do Sistema.

No entanto, para que isso funcione, tenho que tirar o dedo da Commandtecla ... o que a torna meio inútil. Também é lento e parece não funcionar no aplicativo em que mais preciso (Xcode).

Respostas:


22

Veja como você pode obter ⌃ Controlas teclas de seta + para trabalhar como você descreve. Copie a seguinte lista de propriedades para ~/Library/KeyBindings/DefaultKeyBinding.dict(você pode criar o diretório se ele ainda não existir):

{
    "^\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "^$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");
}

Isso configurará a ⌃ Controlseta + para navegar até o início da próxima palavra (usando a navegação normal do OS X três vezes: até o final da palavra atual, final da próxima palavra e depois volte para o início da próxima palavra). Também incluí uma versão que funciona ⇧ Shiftpara que você possa selecionar o texto à medida que avança.

Advertência: isso funcionará apenas em aplicativos Cocoa, mas acho que a ⌥ Optionnavegação normal com as setas + também. Além disso, certifique-se de reiniciar seus aplicativos!


Whoot! Exatamente o que eu estava esperando ... obrigado! Deixe-me tentar, então eu vou marcar a resposta.
— Steve

Muito obrigado! Funcionou como um encanto. FYI "Key Bindings" vs "KeyBindings" ... Eu usei "KeyBindings" e funcionou. Não tenho certeza se isso faz diferença. Pena que o Xcode os substitua por suas próprias e menos poderosas vinculações de teclas.
— Steve

Opa, sim, eu quis dizer KeyBindings! Os Xcode são ótimos porque você pode navegar pelas subpalavras camelCase.
— Jtbandes

Eu gosto da navegação camelCase. Idealmente, eu gostaria do comportamento do Visual Studio no Xcode ... tudo bem.
— Steve Steve

Você pode, pelo menos, personalizar os Xcode. Há uma guia nas Preferências para alterar as combinações de teclas.
— Jtbandes

5

Coisas que você pode tentar. Não os testei para ver se eles executariam a função que você precisa.

Há um utilitário gratuito e de código aberto para remapear os principais comandos do Mac OS X, chamado DoubleCommand . É uma extensão do kernel, portanto, funciona em um nível muito baixo.

Outro programa gratuito que o pessoal da DoubleCommand recomenda que você faça o check-out é o KeyRemap4MacBook . Você precisa usar um ou outro; eles entrarão em conflito se ambos estiverem instalados no seu Mac.


1
Usando o KeyRemap4MacBook no OS X 10.11.x para fazer o Control + [Seta] funcionar como no Windows, role para baixo até encontrar Para usuários de PC e marque (para mim, opção seis) "Usar o controle de estilo do PC + Cima / Baixo / Esquerda / Direita " Existem outras opções muito úteis lá. Definitivamente a votação foi positiva e, além disso, não custou mais cem dólares!
— John John

1

Depois de anos dos irritantes mapeamentos padrão do OSX, troquei minhas teclas de Comando e Controle e queria que as teclas Control + Seta fornecessem funcionalidade mover-palavra-avançar, mover-palavra-retroceder, em vez de BOL / EOL. A resposta aceita funcionou para mim, exceto com ^ alterado para @, pois agora uso Control em vez de Command. Também mapeei as funções BOL / EOL menos usadas para as combinações de teclas Option + Seta.

{
    "@\UF702" = ("moveWordBackward:");
    "@$\UF702" = ("moveWordBackwardAndModifySelection:");
    "~\UF702" = ("moveToBeginningOfLine:");
    "~$\UF702" = ("moveToBeginningOfLineAndModifySelection:");
    "@\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "@$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");    
    "~\UF703" = ("moveToEndOfLine:");
    "~$\UF703" = ("moveToEndOfLineAndModifySelection:");
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.