;问:本来一个按键就实现了,为什么要换成两个按键配合使用。
;答:顺手,不想在打字的时候手指到处移动(打字习惯使然)
#Persistent ; 让脚本持续运行, 直到用户退出. #SingleInstance force #UseHook #InstallKeybdHook #ErrorStdOut ;关闭错误报告 #NoEnv SetWorkingDir %A_ScriptDir% Process, Priority,, High DetectHiddenWindows,On SendMode Input global Pausedbyhk=0 ;初始化此变量 Menu,Tray,NoStandard ;取消自带的托盘 Menu,Tray,Add,帮助信息,do_HelpMessage Menu, Tray, Add, 暂停热键,do_Pause Menu,Tray,Add,退出脚本,do_Exit Menu, Tray, Default, 帮助信息 ;将帮助信息设置为默认项 return do_HelpMessage: try { Gui,help: +AlwaysOnTop -Border +Caption +SysMenu -Theme -ToolWindow -OwnDialogs -MaximizeBox Gui,help:color ,white Gui,help: Font, s11 HelpMessage= ( ============文本编辑============ CapsLock & E/D/S/F: ;对应↑/↓ /← / → (方向键) CapsLock & P: ;Home键,光标移动到行首 CapsLock & ;: ;End键,光标移动到行尾 CapsLock & Enter: ;换行(无论光标处于该行的什么位置) CapsLock & I(Ctrl+↑): ;单行向上复制 CapsLock & K(Ctrl+↓): ;单行向下复制 CapsLock & U(Atl+↑): ;单行向上移动 CapsLock & J(Atl+↓): ;单行向下移动 CapsLock & 9: ;补全括号() CapsLock & 0: ;在选中文本两端加上括号() CapsLock & ': ;在选中文本两端加上双引号“” CapsLock & [: ;补全大括号{} CapsLock & ]: ;在选中文本两端加上大括号{} CapsLock & G: ;对应光标从当前位置一直选中到行首 CapsLock & H: ;对应光标从当前位置一直选中到行尾 CapsLock & T: ;光标向左选中一个单词 CapsLock & Y: ;光标向右选中一个单词 CapsLock & B: ;光标向左跳转一个单词 CapsLock & N: ;光标向右跳转一个单词 CapsLock & BackSpace: ;删除当前行 CapsLock & W: ;单行左移动对齐(Tab) CapsLock & R: ;单行右移动对齐(Tab) ============常用快键============ Alt & Space: ;关闭当前页面 醉里挑灯看剑 2016年11月13日 星期日 ) ;~ Gui,help: Add, Edit, x5 y0 w470 h370 -VScroll vHelpMessage,%HelpMessage% Gui,help: Add, Edit, x5 y0 w470 h400 -VScroll ,%HelpMessage% Gui,help: Font, s11 Gui,help: Show, w480 h405, 帮助信息 SendInput,{End} ;~ SendInput,{Home} ;这一句是在测试之后加入的,目的在于不选中帮助信息 }catch{} return helpGuiClose: ;关闭Gui时调用 Gui,help: Cancel Gui,help: Destroy return do_Pause: ;执行暂停脚本命令 { if Pausedbyhk=0 { Pausedbyhk=1 Suspend,On SuspendStatus=1 TrayTip , Hotkey,已暂停热键使用 , 5, 2 Menu, Tray,Rename,暂停热键,重新启用 } else { Pausedbyhk=0 Suspend,Off SuspendStatus=0 TrayTip , Hotkey,已重新启用 , 5, 2 SetTimer, RemoveToolTip, 1500 Menu, Tray,Rename,重新启用,暂停热键 } return } return RemoveToolTip: SetTimer, RemoveToolTip, Off if (BeforRemoveToolTip<>"") { ToolTip,%BeforRemoveToolTip% Sleep,1000 BeforRemoveToolTip= } ToolTip return do_Exit: ;执行退出脚本命令 ExitApp ;退出脚本 ;=========================主要的快捷键代码========================= ;问:本来一个按键就实现了,为什么要换成两个按键配合使用。 ;答:顺手,不想在打字的时候手指到处移动(打字习惯使然) ;=====原按键;=====不习惯使用,所以修改了一下。===== ;编写:醉里挑灯看剑 ;====================光标跳转快捷键====================; /* ↑/↓ /← / → (方向键):光标向上、向下、向左、向右移动 Home: 光标跳转至行首 End: 光标跳转至行尾 PgUp: 光标跳转至首行 PgDn: 光标跳转至末行 Ctrl + ← / → (方向键): 光标向左/向右跳转一个单词 Ctrl + Home: 光标跳转至首行首个字符前面(文件开头) Ctrl + End: 光标跳转至末行最后一个字符后面(文件结尾) */ ;====================光标选中快捷键====================; /* Shift + ← / → (方向键): 光标向左/向右选中一个字符 Ctrl + Shift + ← / → (方向键): 光标向左/向右选中一个单词 Shift + Home: 光标从当前位置一直选中到行首 Shift + End: 光标从当前位置一直选中到行尾 */ ;关闭当前页面 !Space:: SendInput,!{F4} return ;CapsLock & q:: Send, !{F4} ; Close Window Q = {Alt + F4} ;↑/↓ /← / → (方向键):光标向上、向下、向左、向右移动 CapsLock & e:: ;向上 SendInput,{Up} return CapsLock & d:: ;向下Progress, m2 b zh0, Text here SendInput,{Down} return CapsLock & s:: ;向左 SendInput,{Left} return CapsLock & f:: ;向右 SendInput,{Right} return CapsLock & p:: ;home SendInput,{Home} return CapsLock & `;:: ;end ";"用于注释,所以此处用到了转义字符 SendInput,{End} return CapsLock & Enter:: ;换行(无论光标处于该行的什么位置) SendInput,{End}{Enter} ;先将光标移动至行末,再按回车 return ^Down:: CapsLock & k:: ;单行向下复制 ;先将光标移动至行末,选中该行,复制,光标移动至行末,回车,粘贴 SendInput,{End} SendInput,+{Home} SendInput,^c SendInput,{End}{Enter} SendInput,^v return ^Up:: CapsLock & i:: ;单行向上复制 ;先将光标移动至行末,选中该行,复制,光标移动至行末再向上移动,回车,粘贴 SendInput,{End} SendInput,+{Home} SendInput,^c SendInput,{Up}{End}{Enter} SendInput,^v return !Up:: CapsLock & u:: ;单行向上移动 ;先将光标移动至行末,选中该行,剪切,光标移动至行首,删除当前行(伴随向上移动一行),再向上移动,回车,粘贴 SendInput,{End} SendInput,+{Home} SendInput,^x SendInput,{Home}{BackSpace}{Up}{End}{Enter} SendInput,^v return !Down:: CapsLock & j:: ;单行向下移动 () ;先将光标移动至行末,选中该行,剪切,光标移动至行首,删除当前行(伴随向上移动一行),再向下移动,回车,粘贴 SendInput,^x SendInput,{End} SendInput,+{Home} SendInput,^x SendInput,{Home}{BackSpace}{Down}{End}{Enter} SendInput,^v return CapsLock & 9:: ;补全括号() ;~ SendInput,() ;此括号受到输入法的影响,而在大多数的输入法中,能自动补全 SendInput, {asc 40}{asc 41} SendInput,{Left} return CapsLock & 0:: ;在选中文本两端加上括号 SendInput,^x ; 先将选中的内容剪切下来 SendInput,{Asc 40} SendInput,^v ;将之前剪切下来的文字粘贴在此 SendInput,{Asc 41} return CapsLock & ':: ;在选中文本两端加上双引号 SendInput,^x ; 先将选中的内容剪切下来 SendInput,{Asc 34} SendInput,^v ;将之前剪切下来的"文字粘贴在此" SendInput,{Asc 34} return CapsLock & [:: ;补全括号{} 括号是关键字符,需要用到转义字符 ;~ SendInput,{{}{}} ;奇葩的语句 SendInput,{Asc 123}{Asc 125} SendInput,{Left}{Enter} ;回车 ;在EditPlus下使用 ;~ SendInput,{Left}{Enter}{Up}{End}{Enter} ;回车 return CapsLock & ]:: ;在选中文本两端加上大括号{} SendInput,^x ; 先将选中的内容剪切下来 SendInput,{Asc 123} SendInput,^v ;将之前剪切下来的"文字粘贴在此" SendInput,{Asc 125} return ;Shift + Home: 光标从当前位置一直选中到行首 CapsLock & g:: SendInput,+{Home} return ;Shift + End: 光标从当前"位置一直选中到行尾" CapsLock & h:: SendInput,+{End} return ;~ Ctrl + Shift + ← / → (方向键): 光标向左/向右选中一个单词 CapsLock & t:: SendInput,^+{Left} return CapsLock & y:: SendInput,^+{Right} return ;~ Ctrl + ← / → (方向键): 光标向左/向右跳转一个单词 CapsLock & b:: SendInput,^{Left} return CapsLock & n:: SendInput,^{Right} return ;删除当前行 CapsLock & BackSpace:: ;好用是比较出来的,和BackSpace比较。 SendInput,{End} SendInput,+{Home} SendInput,^x ;此步骤已经删除 InputVar = Trim(%Clipboard%) StringLen, length, InputVar IfGreater,length,0 { SendInput,{Home} SendInput,{BackSpace} } else { SendInput,{Home} SendInput,{BackSpace} } return ;单行右移动对齐(Tab) CapsLock & r:: SendInput,{Home} SendInput,+{End} SendInput,^x SendInput, {Tab} SendInput,^v return CapsLock & w:: SendInput,{Home} SendInput,+{End} SendInput,^x SendInput, {BackSpace} SendInput,^v return
建议增加脚本功能介绍! 😀
有启发,谢谢了!
感谢分享