AutoHotkey日常使用(一)

Mac上有Alfred这样的神器快速搜索软件,Win上虽然没有能与之功能媲美的软件,但也可以通过组合一些软件功能达到同样的效果。我一般是通过Listary本地搜索+Autohotkey快捷输入达到本地高效操作。至于AlfredWorkflow,Win上还没有能与之匹敌的软件,至少Wox现在还有很多地方需要完善。

今天就来讲讲我日常所使用的Autohotkey吧,关于软件入门和介绍推荐这篇文章:Win下最爱效率神器:AutoHotKey

关于我的配置定义,我会找时间进行补充说明。大家有Autohotkey基础的可以拿来做参考,总之我这用的非常方便高效,后期会不断根据实际需要进行不断完善。

基础知识

# 号代表 Win 键;
! 号代表 Alt 键;
^ 号代表 Ctrl 键;
+ 号代表 shift 键;
:: 号(两个英文冒号)起分隔作用;
run,非常常用 的 AHK 命令之一;
; 号代表 注释后面一行内容;

快捷输入

我的快捷定义包括alias输入和快速启动。网上有很多关于Autohotkey的超级脚本,我都接触了一些,很多脚本其实都用不到。推荐使用我自定义的快捷操作的配置文件和软件,可以到我分享的网盘上下载:https://yunpan.cn/cBkLbf9IT9NPh 访问密码 f4af。

快速输入
;邮箱
::/i::iamlj
::/im::i@iamlj.com
::/ic::http:/iamlj.com/

;QQ
::/33::332846174

;编码类
::/con::console.log();
::/js::javascript:;
::/int::intitle:

; Hexo常用,大图fill images,引言cite quote,站内链接post_link
::/fi::{% fi  %}
::/cq::{% cq %} {% endcq %}
::/pl::{% post_link  %}

::/hn::hexo n
::/hc::hexo clean
::/hcd::hexo clean && hexo d -g
::/hcs::hexo clean && hexo s -g
::/hd::hexo d -g
::/hs::hexo s -g

;日常办公
::/lxs::刘先生这会子肯定在忙,请稍后。thx。祝君:天天开心,日日欣悦。
::/fc::非常感谢楼主!!!

;快速网址,文件夹
#^j::Run http://www.iamlj.com/
#^b::Run https://www.baidu.com/
#^v::Run https://www.v2ex.com/
#^d::Run C:\Users\lj\Downloads

系统操作
Ctrl+Shift+C-> Copy the file path 一键拷贝文件路径
Ctrl+Alt+H -> show/hide the file 显示隐藏文件
Ctrl+Alt+E -> show/hide the file ext name 显示隐藏文件扩展名
Ctrl+Shift+U -> Copy texts to title
Ctrl+Shift+Alt+U -> Copy texts to upper
Ctrl+Shift+L -> Copy texts to lower
Ctrl+Shift+C-> Copy the file path

(此处音量操作对应mac,f10是静音,f11是缩小音量,f12是扩大音量。)
Win+F10 ->静音
Win+F11 -> 降低音量
Win+F12 -> 增加音量

Ctrl+Shift+Alt+F4 -> 待机/睡眠
Ctrl+Shift+Alt+F5 -> 注销
Ctrl+Shift+Alt+F6 -> 关机
Win+F4 -> 屏幕关闭
Win+Esc -> Ctrl + Shift + Esc -> Task Manager  ->快速启动任务管理器

快速启动程序
Shift+Alt+T -> ConsoleZ (Run/Activate/Minimize)
Shift+Alt+P -> PowerShell(Run/Activate/Minimize)
Shift+Alt+S -> Sublime(Run/Activate/Minimize)
Shift+Alt+C -> CMD(Run/Activate/Minimize)
Shift+Alt+D -> YouDao(Run/Activate/Minimize)
Shift+Alt+F -> FoxMail(Run/Activate/Minimize)
Shift+Alt+K -> Kugou(Run/Activate/Minimize)
Shift+Alt+E -> Evernote(Run/Activate/Minimize)
Ctrl+Alt+7 -> LICEcap(Run/Activate/Minimize)

存在的问题

还有几个小操作,现实中的操作也较频繁。半天没调试出来,希望精通AutoHotKey的朋友可以指点一二!

复制文件路径,出现中文乱码

比如复制C:\app\autohotkey-portable-zhcn\AHK 编辑器文件夹,得到的是C:\app\autohotkey-portable-zhcn\AHK ±à¼­Æ÷Îļþ¼Ð

已解决,见:解决AutoHotkey中文乱码问题(三)

如何快速打开指定文件夹

Listary打开指定文件夹,需要好几步,如果Autohotkey可以打开快速常用的几个文件夹就好了。

已解决,直接Run即可,示例:#^d::Run C:\Users\lj\Downloads

大小写Title格式的转换

大小写转换已经成功了,但是现在调试不出来如,“GONE with the WIND”将被转换成“Gone With The Wind”的Title格式。文档中的StringLower, OutputVar, InputVar [, T]方法,调试一直不行。这个操作在实际应用中为了书写规范化,使用频度非常高!

已解决,见:AutoHotkey大小写转换(二)

快捷输入,不能输出特殊符号

比如定义

::/fi::{% fi url %}

当输入/fi时,得到的是空,不能识别{符号。

已解决,见:解决AutoHotkey特殊字符输出问题(四)

脚本代码

脚本对应上面的快捷输入的定义。脚本代码会不定期更新,所以下方的代码又可能是过期的。有需要,可以到分享的网盘根据时间下载最新配置。


;==================================================================================================================================================
;Notes: #==win !==Alt 2015-05-20  ^==Ctrl  +==shift

;==================================================================================================================================================
;快速输入  
;邮箱
::/i::iamlj
::/im::i@iamlj.com
::/ic::http:/www.iamlj.com/

;QQ
::/33::332846174

; 编码类
::/con::console.log();
::/js::javascript:;
::/int::intitle:

; Hexo常用,大图fill images,引言cite quote,站内链接post_link(站内锚点只能用markdown固定链接/#标题orid)
::/fi::{{}% fi %{}}{Left}{Left}{Left} ; 示例{% fi hello-world/demo.png %}
::/cq::{{}% cq %{}}{Enter}{Enter}{Enter}{{}% endcq %{}}{Up}{Up} ; 示例{% cq %} 名言 {% endcq %}
::/pl::{{}% post_link %{}}{Left}{Left}{Left} ; 示例{% fi hello-world %}

::/hn::hexo n ""{Left}
::/hc::hexo clean
::/hcd::hexo clean && hexo d -g
::/hcs::hexo clean && hexo s -g
::/hd::hexo d -g
::/hs::hexo s -g

;日常办公
::/lxs::刘先生这会子肯定在忙,请稍后。thx。祝君:天天开心,日日欣悦。
::/fc::非常感谢楼主!!!

;快速网址和指定文件夹,统一采用Ctrl+Win+,以防后期的冲突
#^j::Run http://www.iamlj.com/
#^b::Run https://www.baidu.com/
#^v::Run https://www.v2ex.com/
#^d::Run C:\Users\lj\Downloads

;==================================================================================================================================================
; 下面是系统操作
; 一键拷贝文件路径
; Ctrl+Shift+C-> Copy the file path
; ---------------------------------------------------------
^+c::
{
    ; null=
    send ^c
    sleep,200
    clipboard=%clipboard% ;%null%
    tooltip,%clipboard%
    sleep,500
    tooltip,
    return
}
; ---------------------------------------------------------

; 一键转化文本成小写
; Ctrl+Shift+L -> Copy texts to lower
; ---------------------------------------------------------
^+l::
{
    Clipboard = %clipboard% 
    Send ^{c}
    ClipWait, 2
    StringLower, Clipboard , Clipboard
    Return
}
; ---------------------------------------------------------

; 一键转化文本成Title格式
; Ctrl+Shift+U -> Copy texts to upper
; ---------------------------------------------------------
^+u::
{
    Clipboard = %clipboard% 
    Send ^{c}
    ClipWait, 2
    StringUpper, Clipboard , Clipboard, T
    Return
}
; ---------------------------------------------------------

; 一键转化文本成大写
; Ctrl+Shift+U -> Copy texts to upper
; ---------------------------------------------------------
^+!u::
{
    Clipboard = %clipboard% 
    Send ^{c}
    ClipWait, 2
    StringUpper, Clipboard , Clipboard
    Return
}
; ---------------------------------------------------------

; Ctrl+Alt+E -> 显示隐藏文件扩展名
; ---------------------------------------------------------
^!e::
{
    If value = 0
    value = 1
    Else
    value = 0
    RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\, HideFileExt, %Value%
    send { AppsKey } e
    return
}
; ---------------------------------------------------------

; Ctrl+Alt+H -> 显示隐藏文件
; ---------------------------------------------------------
^!h::
{
    If value = 1
    value = 2
    Else
    value = 1
    RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\, Hidden, %Value%
    send { AppsKey } e
    return
}
; ---------------------------------------------------------

; 音量调节快捷键,通过数值调整,现在按一次大约是10%,按键按照Mac的习惯,分别是静音,减小,上升F10,11,12
; Win+F10 -> SoundSet Mute
; ---------------------------------------------------------
#F10::
{
    ;Send {Volume_Mute}
    Run nircmd.exe mutesysvolume 2
    Return
}
; ---------------------------------------------------------

; Win+F11 -> SoundSet -10%
; ---------------------------------------------------------
#F11::
{
    ;Send {Volume_Down 1}
    Run nircmd.exe mutesysvolume 0
    Run nircmd.exe changesysvolume -6550
    Return
}
; ---------------------------------------------------------

; Win+F12 -> SoundSet +10%
; ---------------------------------------------------------
#F12::
{
    ;Send {Volume_Up 1}
    Run nircmd.exe mutesysvolume 0
    Run nircmd.exe changesysvolume 6550
    Return
}
; ---------------------------------------------------------

; Ctrl+Shift+Alt+F4 -> Standby 待机/睡眠
; ---------------------------------------------------------
!+^F4::
{
    Run nircmd.exe standby
    Return
}
; ---------------------------------------------------------

; Ctrl+Shift+Alt+F5 -> Logoff 注销
; ---------------------------------------------------------
!+^F5::
{
    Run nircmd.exe logoff
    Return
}
; ---------------------------------------------------------

; Ctrl+Shift+Alt+F6 -> Poweroff 关机
; ---------------------------------------------------------
!+^F6::
{
    Run nircmd.exe poweroff
    Return
}
; ---------------------------------------------------------


; 屏幕关闭
; Win+F4 -> Monitor Off
; ---------------------------------------------------------
#F4::
{
    Run nircmd.exe monitor off
    Return
}
; ---------------------------------------------------------

; 清空回收站,这里只有C和D盘
; Win+F4 -> Monitor Off
; ---------------------------------------------------------
+^Delete::
{
    Run nircmd.exe emptybin  d:
    Run nircmd.exe emptybin  c:
    Return
}
; ---------------------------------------------------------

;==================================================================================================================================================
;下面是快速启动程序
;快速启动任务管理器
; Win+Esc -> Ctrl + Shift + Esc -> Task Manager
; ---------------------------------------------------------
#ESc::
{
    KeyWait, LWin
    Send ^+{Esc}
    Return
}
; ---------------------------------------------------------


; ConsoleZ,快速打开,现在主要用于博客的新建和发布,本来是Ctrl+Alt+T,为了统一改成Shift+Alt+T
; Shift+Alt+T -> ConsoleZ (Run/Activate/Minimize)
; ---------------------------------------------------------
+!T::
{
       DetectHiddenWindows, on
        ifWinNotExist ahk_class Console_2_Main
                Run C:\app\ConsoleZ.x64.1.17.0.16129\Console.exe
       else
       {
                ifWinNotActive ahk_class Console_2_Main
                        WinActivate
              else
                       WinMinimize
       }
      Return
}

; Shift+Alt+S -> Sublime(Run/Activate/Minimize)
; ---------------------------------------------------------
+!S::
{
        DetectHiddenWindows, on
        ifWinNotExist ahk_class PX_WINDOW_CLASS
                Run C:\app\Sublime_Text_3_ionic\sublime_text.exe
        else
        {
                ifWinNotActive ahk_class PX_WINDOW_CLASS
                        WinActivate
                else
                        WinMinimize
        }
        Return
}
; ---------------------------------------------------------


; Chrome(Run/Activate/Minimize)使用Win+2
; Shift+Alt+C -> CMD(Run/Activate/Minimize)
; ---------------------------------------------------------
+!C::
{
    ifWinNotExist ahk_class ConsoleWindowClass
    ;C:\Users\lj\AppData\Local\Google\Chrome\Application\chrome.exe;
    ;Run %A_AppData%\..\Local\Google\Chrome\Application\chrome.exe
    Run C:\Windows\SysWOW64\cmd.exe /k ""C:\Users\lj\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat" x86"
    else
    {
        ifWinNotActive ahk_class ConsoleWindowClass
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; Shift+Alt+D -> YouDao(Run/Activate/Minimize)
; ---------------------------------------------------------
+!D::
{
    ifWinNotExist ahk_class YodaoMainWndClass
        Run C:\app\Youdao\Dict\YodaoDict.exe
    else
    {
        ifWinNotActive ahk_class YodaoMainWndClass
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; Shift+Alt+P -> PowerShell(Run/Activate/Minimize)
; ---------------------------------------------------------
+!P::
{
    ifWinNotExist ahk_class ConsoleWindowClass
        Run %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
    else
    {
        ifWinNotActive ahk_class ConsoleWindowClass
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; Shift+Alt+F -> FoxMail(Run/Activate/Minimize)
; ---------------------------------------------------------
+!F::
{
    ifWinNotExist ahk_class TFoxMainFrm.UnicodeClass
        Run C:\app\Foxmail 7.2\Foxmail.exe
    else
    {
        ifWinNotActive ahk_class TFoxMainFrm.UnicodeClass
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; Shift+Alt+K -> Kugou(Run/Activate/Minimize)
; ---------------------------------------------------------
+!K::
{
    ifWinNotExist ahk_class kugou_ui
        Run C:\app\KGMusic\KuGou.exe
    else
    {
        ifWinNotActive ahk_class kugou_ui
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; Shift+Alt+E -> Evernote(Run/Activate/Minimize)
; ---------------------------------------------------------
+!E::
{
    ifWinNotExist ahk_class ENMainFrame
        Run C:\app\Evernote\Evernote\Evernote.exe
    else
    {
        ifWinNotActive ahk_class ENMainFrame
            WinActivate
        else
            WinMinimize
    }
    Return
}
; ---------------------------------------------------------


; 录制gif,跟随FastStone的Ctrl+Alt+1..6
; Ctrl+Alt+7 -> LICEcap(Run/Activate/Minimize)
; ---------------------------------------------------------
^!7::
{
    ifWinNotExist ahk_class #32770
        Run C:\app\LICEcap-gif.exe
    else
    {
        ifWinNotActive ahk_class #32770
            WinActivate
        else
            WinMinimize
    }
    Return
}

热评文章