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)像 Vim 一樣使用 A​​utoHotkey 複製箭頭鍵,但在使用 Windows ALT+TAB 時無法導航這些按鍵(請參閱下面我如何意外找到解決方案)。

然後,我偶然發現了一個解決方案,可以在 Windows ALT+TAB 上使用 Vim-navigationkeys 而不會消失。我無法解釋它,但它確實有效,我將發布我當前的設定並向您展示與我偶然發現的差異。

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

相關內容