AHK VIM-НАВИГАЦИЯ ГОРЯЧАЯ КЛАВИША

AHK VIM-НАВИГАЦИЯ ГОРЯЧАЯ КЛАВИША

В настоящее время я использую следующий код для изменения раскладки клавиатуры:

// 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}

Достаточно ли стабилен этот код? Проблема в том, что иногда CapsLockнежелательно включается

Обновлять:Я обнаружил, что он CapsLockвключается при нажатии любой клавиши, кроме указанных выше. ( hkll;pae)

решение1

добавьте это в начало вашего скрипта.

SetCapsLockState, AlwaysOff

!^CapsLock::CapsLock

Это должно остановить все события Capslock, которые вы не создаете.

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

решение2

Я перестал возиться сCapsLock как модификаториз-за рассуждений о последовательности (вы будете так потеряны без него на чужом компьютере). Поэтому вместо CapsLockя использую ALT+SHIFT (!+)модификаторы, потому что это не так распространено, но все равно достаточно удобно для легкого доступа.Мне удалось воспроизвести клавиши up/down/left/right (kjhl)со стрелками с помощью AutoHotkey, как это делает Vim, но не удалось перемещаться по этим клавишам при использовании Windows ALT+TAB (см. ниже, как я случайно нашел решение).

Затем я случайно наткнулся на решение использовать Vim-navigationkeys в Windows ALT+TAB без его исчезновения. Я не могу объяснить это, но это просто работает, и я опубликую свою текущую настройку и покажу вам разницу с моей случайной находкой.

AHK VIM-НАВИГАЦИЯ ГОРЯЧАЯ КЛАВИША

Если эти клавиши вам не подходят, пожалуйста, измените их по своему вкусу. Я просто предпочитаю иметь shortnavigation-keys (up/down/left/right)соответствующий vim и настроил только дляlongnavigation-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 с VIM-КЛАВИШАМИ НАВИГАЦИИ (статическое меню, вызванное другим предшествующим нажатием горячей клавиши)

  • активировать!+9::SendInput, !^{Tab}
    • После нажатия ALT+SHIFT+9 продолжайте удерживать ALT+SHIFT и осуществлять навигацию с помощью kjhl :D

WIN ALT+TAB с VIM-КЛАВИШАМИ НАВИГАЦИИ (не могу, т.к. меню закрывается)

  • ALT+TAB
    • Теперь продолжайте удерживать Alt, а затем также удерживайте Shift и начните использовать имитированные клавиши навигации Vim.который является kjhl, обратите внимание, что окно исчезает :(
ПРИМЕЧАНИЕ
  • Общие клавиши — это типичные клавиши, используемые для основных функций, таких как вырезание/копирование/вставка и переключение вкладок, все из которых используют только комбинацию одного модификатора и одного нажатия клавиши, если только это не касается навигации по виртуальному рабочему столу Windows.
    • например, переключение виртуального рабочего стола Windows использует CTRL+WIN+LEFT/RIGHT
    • Хорошей идеей будет продолжать использовать обычные горячие клавиши и не настраивать их слишком сильно, если только вы не можете доказать, что ваш способ лучше.
  • В чем разница между короткими и длинными навигационными клавишами?
    • быстрые навигационные клавиши: вверх/вниз/влево/вправо
    • длинные навигационные клавиши: home/end/pgup/pgdn

Связанный контент