【Tool】使用Autohotkey

【使用AHK的好处】

  • 只要是可以编辑的地方,都可以用同一套规则控制光标。
  • 选中任意一个地方的文字,按快捷键即可用指定搜索引擎搜索(同样可以搜索剪切板的内容)。
  • 一次按键,快速开启指定的某一个软件,或几个软件。
  • 一次按键,可以输入自定义的模板:例如输入/mail,就能达到输入[email protected]的效果。
  • 一次按键,输入特殊符号(●、◆、×、√ 等等)

该软件可以下载后可以直接运行(Autohotkey.exe)。 与其他人的Autohotkey的主要区别在于【Autohotkey.ini】这个配置文件,使其更有效更快的操作键盘。

操作习惯来源于VIM,如果你也是VIM爱好者,相信上手很快的(当然也做了部分改变)。

【举例】

光标控制1:

  • 光标左移:Alt+h
  • 光标右移:Alt+l
  • 光标上移:Alt+,
  • 光标下移:Alt+i

光标控制2:

  • 到行首:Alt+0
  • 到行尾:Alt+4
  • 选中光标位置到行首的文字:Shift+Alt+0
  • 选中光标位置到行尾的文字:Shift+Alt+4
  • 删除右侧一个字符(同Delete按键):Alt+'
  • 删除当前行内容:Shift+Ctrl+k
  • 无论光标在当前行何处,新起一行:Shift+Enter

切换标签(例如chrome,Firefox,eclipse等等含有标签的应用):

  • 下一个标签:Alt+k
  • 上一个标签:Alt+j

【我的配置】
;====== Lou BEG ======
;说明
;文中符号说明, 有组合键共同打造不一样
;[!]    等价于按键[Alt]
;[+]    等价于按键[Shift]
;[#]    等价于按键[Windows]
;[^]    等价于按键[Ctrl]
;====== Lou END ======




;====== Lou BEG ====== 
;打开应用
#w::
run gxtodo
return

#y::
run http://dict.youdao.com/
return

#o::
run notepad
return
#n::
run notepad
return
;====== Lou END ======



;====== Lou BEG ======
;一次按键打开多个应用
#a::
run dict
run ditto
run wiz
run everything
return
;====== Lou END ======



;====== Lou BEG ======
;for java

;注释 /* */
+^/::
Send,/*  */{left}{left}{left}
return
;====== Lou END ======



;====== Lou BEG ======
;for android
::/log::
clipboard = Log.d(TAG,"");
send ^v
send {left}{left}{left}
return

::/tag::
clipboard = public static final String TAG = "";
send ^v
return ;

::/lay::  
send,android:layout_width="match_parent" {enter}
send,android:layout_height="wrap_content" {enter}
return
;====== Lou END ======



;====== Lou BEG ======
;for django
+^,::
Send,{{}`%  `%`{}}{left}{left}{left}
return
;====== Lou END ======



;====== Lou BEG ======
;for markdown
::/2::
clipboard = ## 
Send ^v
return
::/3::
clipboard = ***
Send ^v
return
::/4::
clipboard = #### 
Send ^v
return
::/6::
clipboard = ######
Send ^v
return
;====== Lou END ======



;====== Lou BEG ======
;输入我的分隔符
::/lou::
d = ====== Lou BEG ======
e = ====== Lou END ======
clipboard = %d%
Send ^v{enter}
clipboard = %e%
Send ^v{up}{enter}
return

;输入邮箱
::/ly::
clipboard = [email protected]
Send ^v
return

;====== Lou END ======



;====== Lou BEG ======
;打开网页
#!y::
Run,http://c29.yunpan.360.cn/my
return 
;打开“百度脑图”网页。
#!n::
Run "http://naotu.baidu.com/edit.html"
Return

;打开“qq邮箱”页面
#!m::
Run,http://mail.qq.com
return

;打开“为知”网页。
#!w::
Run "https://note.wiz.cn/web"
Return

;打开“知乎”网页。
#!z::
Run "http://www.zhihu.com/read"
Return

#!c::
Run "http://blog.csdn.net/ly1414725328"
Return

;====== Lou END ======



;====== Lou BEG ======
;搜索功能
;用淘宝搜索
#!t:: 
Send ^c 
Run http://s.taobao.com/search?q=%clipboard% 
return 

;用京东搜索
#!j::
Send ^c 
Run http://search.jd.com/Search?keyword=%clipboard%&enc=utf-8
return 
;用百度搜索 
#!b:: 
Send ^c 
Run http://www.baidu.com/s?wd=%clipboard% 
return 
;用google搜索 
#!g:: 
Send ^c 
Run http://www.google.com/search?q=%clipboard% 
return 
;====== Lou END ======



;====== Lou BEG ======
;特殊符号
![::
clipboard = 【
send ^v
return
!]::
clipboard = 】
send ^v
return
;◆输入
!9::
clipboard = ◆
send ^v
return
;Δ输入
!8::
clipboard = ●
send ^v
return
#!]::
!6::
clipboard = √
send ^v
return
!7::
clipboard = ×
send ^v
return
;====== Lou END ======



;====== Lou BEG ======
;时间输入
;如:[14:19:59]
::/ts:: 
d = [%A_Hour%:%A_Min%:%A_Sec%]
clipboard = %d%  
Send ^v  
return
;如:[2015-02-11 14:20:27]
::/tt::
d = [%A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%:%A_Sec%]
clipboard = %d%  
Send ^v  
return
;如:[20150625]
::/td::
d = [%A_YYYY%%A_MM%%A_DD%]
clipboard = %d%  
Send ^v  
return
;如:====== [2015-09-27 08:26] ======
::/tf::
d = [%A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%]
clipboard = ====== %d% ======
Send ^v  
return
;====== Lou END ======



;====== Lou BEG ======
;方向控制
;光标方向控制
!i::Send {up} ;光标上移
!,::Send {down} ;光标下移
#!i::Send {pgup} ;光标翻页上移
#!,::Send {pgdn} ;光标翻页下移
!h::Send {left} ;光标左移
!l::Send {right} ;光标右移
!4::  ;到行末
Send, {end}
return
!0::  ;到行首
Send, {home}
return

;浏览器及资源管理器中使用
;前进
!=::
send, !{right}
return
;回退
!-::
send, !{left}
return 
;====== Lou END ======



;====== Lou BEG ======
;所有编辑器中的快捷操作
Shift & enter::send {end}{enter} ;下起一行
+^o::send {home}{enter}{up} ;上起一行
+^!h::send,+^{left} ;选中左移一个单词
+^!l::send,+^{right} ;选中右移一个单词
+!i::send,{shiftdown}{up} ;选中上移
+!,::send,{shiftdown}{down} ;选中下移
+!h::send,{shiftdown}{left} ;选中左移
+!l::send,{shiftdown}{right} ;选中右移
+!4::send,+{end} ;选中当前光标位置到行末
+!0::send,+{home} ;选中当前光标位置到行首
+^k::send,{end}{shiftdown}{home}{ShiftUp}{backspace}{backspace} ;删除当前行 

;复制当前行到剪切板 
+!v::
send,{home}{shiftdown}{end}{ShiftUp}
Send,^c
Send, {right}
Return 

;复制当前行到上移一行 
#^!up:: 
send,{home}{home}{shiftdown}{end}{ShiftUp}
Send,^c
Send,{home}{home}{enter}{up}
send,^v 
Return 

;复制当前行到下移一行 
#^!down:: 
send,{home}{home}{shiftdown}{end}{ShiftUp} 
Send,^c
Send,{end}{enter}
send,^v 
Return 

;上移一行 
#!up:: 
send,{home}{home}{shiftdown}{end}{ShiftUp} 
Send,^x
Send, {backspace}
Send, {home}{home}{enter}{up}
send,^v 
Return 

;下移一行
#!down:: 
send,{home}{home}{shiftdown}{end}{ShiftUp} 
Send,^x
Send, {backspace} 
Send,{down}{end}{enter} 
send,^v 
Return 

;删除光标到行末的内容
+!'::
send,+{end}{delete}
return 
;====== Lou END ======
;====== Lou BEG ======
;替换按键
;新建
!n::
Send ^n
return
;撤销
!z::
Send ^z
return
;关闭
!w::
Send ^w
return
;粘贴
;+!p::
;Send ^v
;return
;粘贴
!v::
Send ^v
return
;剪切
!x::
Send ^x
return
;复制
!c::
Send ^c
return
;保存
!s::
Send ^s
return
!'::Send {delete} ;删除光标后面的一个字母或汉字
;ThinkPad键盘上的右键:PrintScreen
PrintScreen::Send +{F10}
;====== Lou END ======



;====== Lou BEG ======
;控制autohotyey
;挂起所有autohotkey按键
#!p::suspend
;打开autohotkey配置文件
#!o::  
Run notepad.exe ./AutoHotKey.ini
return
;====== Lou END ======



;====== Lou BEG ======
;宽带拨号
#!d::run %windir%\system32\rasphone.exe -d lilou
;====== Lou END ======



;====== Lou BEG ======
;隐藏窗口标题栏
#f11::
WinSet, Style, ^0xC00000, A
WinSet, Style, ^0x40000, A
return
;====== Lou END ======



;====== Lou BEG ======
;鼠标功能
;点击左键后不抬起点击右键, 实现Alt+Tab功能
~LButton & RButton::AltTab 

;切换鼠标左右键
#!q::
run control main.cpl
win_class = #32770
winwait ahk_class %win_class%
WinActivate ahk_class %win_class%
winwaitactive ahk_class %win_class%
if errorlevel = 0
{
  send !s
  sleep 500
  send {enter}
}
return
;====== Lou END ======


;====== Lou BEG ======
;win键 + PrintScreen键关闭屏幕 
#PrintScreen:: 
KeyWait PrintScreen 
KeyWait LWin ;释放左Win键才激活下面的命令 
SendMessage,0x112,0xF170,2,,Program Manager ;关闭显示器。0x112:WM_SYSCOMMAND,0xF170:SC_MONITORPOWER。2:关闭,-1:开启显示器 
Return 
;====== Lou END ======


;====== Lou BEG ======
;;音量控制
;静音
#!0::
Send {Volume_Mute}
Return
;增加音量
#!=::
Send {Volume_Up 2} 
Return
;减少音量
#!-::
Send {Volume_Down 2}
Return
;====== Lou END ======



;====== Lou BEG ======
;具体应用
;for 360Chrome
#IfWinActive ahk_class Chrome_WidgetWin_1 
!j::Send ^+{Tab} 
!k::Send ^{Tab} 
!t::Send ^t 
+!t::Send ^+t 
return


;for eclipse
#IfWinActive ahk_class SWT_Window0
!j::Send ^{pgup} ;上一个编辑窗口
!k::Send ^{pgdn} ;下一个编辑窗口
!r::Send {F12} ;激活编辑窗
!a::send ^+s ;保存所有文件
!q::send ^+w ;关闭所有文件
Shift & enter::send +{enter} 
return
;====== Lou END ======


你可能感兴趣的:(【Tool】使用Autohotkey)