TECLA DE ATALHO DE NAVEGAÇÃO AHK VIM

TECLA DE ATALHO DE NAVEGAÇÃO AHK VIM

Atualmente estou usando o seguinte código para alterar o layout do teclado:

// vim.ahk
CapsLock::Send, {CTRLDOWN}{SHIFTDOWN}{SHIFTUP}{CTRLUP}{CTRLUP}
    return
!^CapsLock::CapsLock

CapsLock & j  :: Send {Down}
CapsLock & k  :: Send {Up}
CapsLock & h  :: Send {Left}
CapsLock & l  :: Send {right}
CapsLock & p  :: Send {PGUP}
CapsLock & `; :: Send {PGDN}
CapsLock & ^  :: Send {home}
CapsLock & $  :: Send {end}

Este código é estável o suficiente? O problema é que às vezes CapsLockliga indesejavelmente

Atualizar:Descobri que CapsLockliga quando é pressionado com qualquer tecla, exceto as teclas acima. ( hkll;pae)

Responder1

adicione isso ao topo do seu script.

SetCapsLockState, AlwaysOff

!^CapsLock::CapsLock

Deve interromper todos os eventos Capslock que você não cria.

http://www.autohotkey.com/docs/commands/SetNumScrollCapsLockState.htm

Responder2

Parei de brincar com oCapsLock como modificadorpor causa do raciocínio de consistência (você vai ficar tão perdido sem ele no pc de outra pessoa). Então, em vez de CapsLockusar ALT+SHIFT (!+)modificadores, porque não é comum, mas ainda é confortável o suficiente para ser facilmente alcançado.Consegui replicar teclas de seta up/down/left/right (kjhl)com AutoHotkey como o Vim faz, mas não consegui navegar por essas teclas ao usar o Windows ALT + TAB (veja abaixo como encontrei acidentalmente uma solução).

Então, acidentalmente me deparei com uma solução para usar as teclas de navegação do Vim no Windows ALT + TAB sem que elas desaparecessem. Não sou capaz de explicar, mas simplesmente funciona e vou postar minha configuração atual e mostrar a diferença com minha descoberta acidental.

TECLA DE ATALHO DE NAVEGAÇÃO AHK VIM

Se essas chaves não cabem em você confortavelmente, por favor. altere ao seu gosto. Eu apenas prefiro ter shortnavigation-keys (up/down/left/right)o vim correspondente e colocar customização apenas para olongnavigation-keys (home/end/pgup/pgdn)

!+[::SendInput, {Escape} !+k::SendInput, {Up} !+j::SendInput, {Down} !+h::SendInput, {Left} !+l::SendInput, {Right} !+p::SendInput, {Home} !+u::SendInput, {End} !+o::SendInput, {PgUp} !+i::SendInput, {PgDn} !+0::SendInput, ^{Tab} ; tabmove-forward !+9::SendInput, !^{Tab} ; idk why, but doesn't tabmove-backward

WIN ALT + TAB com VIM-NAVIGATIONKEYS (menu estático, devido a outro pressionamento anterior de tecla de atalho)

  • ativar!+9::SendInput, !^{Tab}
    • Uma vez após pressionar ALT+SHIFT+9, continue segurando ALT+SHIFT e navegue usando kjhl :D

WIN ALT + TAB com VIM-NAVIGATIONKEYS (não posso, porque o menu fecha)

  • ALT+TAB
    • Agora continue segurando Alt e então segure Shift também e agora comece a usar as teclas de navegação imitadas do vimque é kjhl, observe que a janela desaparece :(
OBSERVAÇÃO
  • As teclas comuns são teclas típicas usadas para funções básicas, como recortar/copiar/colar e alternar entre guias, todas as quais usam apenas uma combinação de um modificador e um único pressionamento de tecla, a menos que seja para navegação na Área de Trabalho Virtual do Windows
    • por exemplo, a comutação da área de trabalho virtual do Windows usa CTRL+WIN+ESQUERDA/DIREITA
    • é uma boa ideia ainda usar teclas de atalho normais e não personalizá-las muito, a menos que você possa provar por que seu método é melhor
  • Qual é a diferença entre teclas de navegação curtas e longas?
    • teclas de navegação curtas: cima/baixo/esquerda/direita
    • chaves de navegação longa: home/end/pgup/pgdn

informação relacionada