摆脱鼠标系列 - vscode - Esc 返回时候 强制显示英文输入法 - ahk 脚本 - autoHotKey
为什么
摆脱鼠标系列 - vscode - Esc 返回时候 强制显示英文输入法
- 切换网页的时候,回来还是搜索输入法,就想到按esc,直接强制英文输入法
- 之前vim插件里面 用了一个 im-select.exe 那个在切换模式的时候好使
- 但是在Normal模式,本身是搜狗输入法的时候就不好使了
解决方案
- https://www.autohotkey.com/
- 官网下载软件 这个软件是以脚本的形式运行的 ahk扩展名
; esc-in-vscode.ahk
; vscode不能是管理员权限运行
; vscode不能是管理员权限运行
; vscode不能是管理员权限运行 重要的事情说三遍
#IfWinActive ahk_exe Code.exe
~Esc::
; if (A_PriorHotkey <> "~Esc" or A_TimeSincePriorHotkey > 400)
; {
; return
; }
SwitchIME(04090409) ; 英语(美国) 美式键盘
Return
#If
SwitchIME(dwLayout){
HKL:=DllCall("LoadKeyboardLayout", Str, dwLayout, UInt, 1)
ControlGetFocus,ctl,A
SendMessage,0x50,0,HKL,%ctl%,A
}
- 话说这个软件真的非常强大,不过现在没时间研究
~Esc
我感觉应该就是 Esc功能实现了,再追加一个功能的感觉
最新进入Normal模式
- vscode 里面 ESC capslock Shift双击 三个键均可以返回Normal 并改为英文输入法
- 开始用的单击右边shfit,发现输入#的时候,用到了右边shift,所以还不能设置单击,就改为双击右边shift
; esc-in-vscode.ahk
; vscode不能是管理员权限运行
; vscode不能是管理员权限运行
; vscode不能是管理员权限运行 重要的事情说三遍
#IfWinActive ahk_exe Code.exe
; ~Esc::
; !j::
; if (A_Cursor <> "IBeam" or A_PriorHotkey <> "~Esc" or A_TimeSincePriorHotkey > 200)
; {
; return
; }
;Msgbox, 11
;CapsLock::
;Send, {ESC}
;SwitchIME(04090409) ; 英语(美国) 美式键盘
;Return
;$RSHIFT::
;A_Cursor <> "IBeam" 就是查看光盘状态 有了这个在大纲快速下一个就不会被esc掉了
~j::
;MsgBox, %A_PriorHotkey%
;MsgBox, %A_Cursor%
;只有中文输入法的时候,才会切换英文输入法,终于完美了
If (IME_GET() = "0" or A_PriorHotkey <> "~j" or A_TimeSincePriorHotkey > 200) {
return
}
;MsgBox, % A_Cursor
SwitchIME(04090409) ; 英语(美国) 美式键盘
Send, {ESC}
Return
; ~SHIFT::
; if (A_PriorHotkey <> "~SHIFT" or A_TimeSincePriorHotkey > 400) {
; return
; }
; Send, {ESC}
; SwitchIME(04090409) ; 英语(美国) 美式键盘
; Return
~Esc::
SwitchIME(04090409) ; 英语(美国) 美式键盘
Return
#If
SwitchIME(dwLayout){
HKL:=DllCall("LoadKeyboardLayout", Str, dwLayout, UInt, 1)
ControlGetFocus,ctl,A
SendMessage,0x50,0,HKL,%ctl%,A
}
IME_GET(WinTitle="")
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}
---------------------------------------------
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)