#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; # -> Win
; ! -> Alt
; ^ -> Ctrl
; + -> Shift
; Alt与Ctrl对调, 其实更建议通过注册表修改
LAlt::LCtrl
LCtrl::LAlt
; 退出: Esc <==> CapsLock + y
CapsLock & y::Send, {Esc}
; ************ 光标移动 ************
; 按字符移动, 模拟vim, 将hjkl 映射成 左下上右
CapsLock & h::Send, {Left} ;; CapsLock + h -> 左
CapsLock & j::Send, {Down} ;; CapsLock + j -> 下
CapsLock & k::Send, {Up} ;; CapsLock + k -> 上
CapsLock & l::Send, {Right} ;; CapsLock + l -> 右
; 按单词移动, 将 CapsLock + Ctrl + op 映射成 Ctrl + 左右
CapsLock & o::Send, ^{Left}
CapsLock & p::Send, ^{Right}
; 页首,页尾
CapsLock & d::Send, ^{Home}
CapsLock & f::Send, ^{End}
; 翻页
CapsLock & [::Send, {PgDn}
CapsLock & ]::Send, {PgUp}
; *********** BackSpace, Delete ***************
CapsLock & n::Send, {BackSpace} ;; CapsLock + n -> BackSpace
CapsLock & m::Send, ^{BackSpace} ;; CapsLock + m -> Ctrl + BackSpace
CapsLock & ,::Send, {Delete} ;; CapsLock + , -> Delete
CapsLock & .::Send, ^{Delete} ;; CapsLock + . -> Ctrl + Delete
; *********** 选择文本 ************
; 按字符选中: 将 Shift + hjkl 映射成 Shift + 左下上右
; 按单词选中: 将 Shift + Ctrl + hjkl 映射成 Shift + Ctrl + 左下上右
+h::Send, +{Left}
+j::Send, +{Down}
+k::Send, +{Up}
+l::Send, +{Right}
+^h::Send, +^{Left}
+^j::Send, +^{Down}
+^k::Send, +^{Up}
+^l::Send, +^{Right}
; 选中到行首
CapsLock & u::Send, +{Home}
; 选中到行尾
CapsLock & i::Send, +{End}