Mac键位映射(部分)

win+q    退出程序                    win+w    关闭当前页面
win+h 隐藏当前窗口 win+shift+h 隐藏其他窗口
win+s 保存 win+o 打开
win+z 撤销 win+shift+z 恢复
win+c 复制 win+x 剪切
win+v 粘贴 alt+win+shift+v/CapsLock+insert 粘贴纯文本
win+backspace 删除 win+shift+backspace 清空回收站
alt+win+shift+backspace 清空回收站(无确认提示)
win+F3 显示桌面 win+i 显示属性

自定义快捷键(部分)

Win+LAlt    显示Win+X菜单(win10)
PageUp/win+F12 放大音量 PageDown/win+F11 减小音量
ScrollLock/win+F10 静音 CapsLock+PageUp/PageDown/ScrollLock 原PageUp/PageDown/ScrollLock
CapsLock+sapce 输入4个空格
CapsLock+backsapce 删除到行首 CapsLock+delete 删除到行尾
CapsLock+enter 新起一行 CapsLock+\ 新起一行(当前行下移)
CapsLock+RShift 分割行
CapsLock+d 复制一行 CapsLock+a 选中当前行
CapsLock+c 复制当前行 CapsLock+x 剪切当前行
CapsLock+v 粘贴一行 LAlt+v 粘贴并回车
LAlt+c 复制到行尾 LAlt+x 剪切到行尾
CapsLock+F1 置顶当前窗口 LAlt+space 启动Listary(需自行修改路径)
CapsLock+F9 当前目录启动PowerShell CapsLock+F10 在当前目录启动CMD
CapsLock+F11 当前目录启动Git-sh CapsLock+F12 启动MSYS

Git-sh是下载安装版git for windows时可用,第一次进入git-sh可以添加命令l、open和subl

$ echo 'alias l=ll open=\"$WINDIR/explorer.exe\"' >> ~/.bash_profile
$ echo 'alias subl=\"$PROGRAMFILES/Sublime\ Text\ 3/sublime_text.exe\"' >> ~/.bash_profile
$ source ~/.bash_profile

文本替换

]now    2016-4-21 15:13:23           ]time    15:13:30
]date 2016-4-21 ]longdate 2016年4月21日

源文件(持续更新)

github:https://github.com/m2nlight/AHKShortcutLikeMac

查看源文件:https://github.com/m2nlight/AHKShortcutLikeMac/blob/master/machotkey.ahk

下载:https://raw.githubusercontent.com/m2nlight/AHKShortcutLikeMac/master/machotkey.ahk

; Shortcuts like mac
; Written by Bob
; http://www.cnblogs.com/Bob-wei/p/5316158.html ; Win+F1 to show HotkeyList
#F1::ListHotkeys ; ## Menu ##
#H::WinMinimize, A
+#H::HideOtherWindow()
#Q::Send !{F4}
; File
#T::Send ^t
+#T::Send +^t
#N::Send ^n
#O::Send ^o
#W::Send ^w
#S::Send ^s
#P::Send ^p
; Edit
#Z::Send ^z
+#Z::Send ^y
#X::Send ^x
#C::Send ^c
#V::Send ^v
!+#V::
clipboard = %clipboard%
Send ^v
return
#A::Send ^a
#F::Send ^f
#G::Send {F3}
+#G::Send +{F3}
!#F::Send ^h
#Left::Send {Home}
#Right::Send {End}
#Up::Send {PgUp}
#Down::Send {PgDn}
!Left::Send ^{Left}
!Right::Send ^{Right}
#+Left::Send +{Home}
#+Right::Send +{End}
#+Up::Send +{PgUp}
#+Down::Send +{PgDn}
!+Left::Send +^{Left}
!+Right::Send +^{Right}
; View
^#F::Send {F11}
#=::Send ^{WheelUp}
#-::Send ^{WheelDown}
#0::Send ^0
; Finder
#Backspace::Send {Del}
+#3::Send {PrintScreen}
+^#3::Send {PrintScreen}
+#4::Send !{PrintScreen}
+^#4::Send !{PrintScreen}
#F3::Send #d
#I::Send !{Enter}
#F10::Send {Volume_Mute}
#F11::Send {Volume_Down}
#F12::Send {Volume_Up}
#+Backspace::EmptyBin()
#+!Backspace::EmptyBin(true)
; Explorer
#IfWinActive ahk_class CabinetWClass
#O::Send {Enter}
#Up::Send !{Up}
#Down::Send {Enter}
#IfWinActive ; ## custom ##
; special key
LWin & Alt::Send #x ; Show WinX menu in win10
PgUp::Send {Volume_Up} ; Volume Up
PgDn::Send {Volume_Down} ; Volume Down
ScrollLock::Send {Volume_Mute} ; Volume Mute
; normal key
CapsLock & PgUp::Send {PgUp} ; PageDown
CapsLock & PgDn::Send {PgDn} ; PageUp
CapsLock & ScrollLock::Send {ScrollLock} ; ScrollLock
; capslock + key
CapsLock & Space::SendInput {Space 4} ; Input 4 space
CapsLock & Left::Send +{Left} ; same to SHIFT+LEFT
CapsLock & Down::Send +{Down} ; same to SHIFT+DOWN
CapsLock & Up::Send +{Up} ; same to SHIFT+UP
CapsLock & Right::Send +{Right} ; same to SHIFT+RIGHT
CapsLock & H::Send {Left} ; Move left (VIM: h)
CapsLock & J::Send {Down} ; Move down (VIM: j)
CapsLock & K::Send {Up} ; Move up (VIM: k)
CapsLock & L::Send {Right} ; Move right (VIM: l)
CapsLock & N::Send {Down} ; Move down too (VIM: CTRL+N)
CapsLock & P::Send {Up} ; Move up too (VIM: CTRL+P)
CapsLock & 4::Send {End} ; Move to line end (VIM: SHIFT+$)
CapsLock & 6::Send {Home} ; Move to line begin (VIM: SHIFT+^)
CapsLock & Enter::Send {End}{Enter} ; Start new line
CapsLock & \::Send {Home}{Enter}{Up} ; Start new line at previous line
CapsLock & RShift::Send {Enter}{Left} ; Line split
CapsLock & Backspace::Send +{Home}{Backspace} ; Delete to line begin
CapsLock & Delete::Send +{End}{Backspace} ; Delete to line end
CapsLock & D::Send {Home}+{End}^c{End}{Enter}^v{Home} ; Duplicate line
CapsLock & A::Send {Home}+{End} ; Selected current line
CapsLock & C::Send {End}+{Home}^c ; Selected and Copy current line
CapsLock & X::Send {End}+{Home}^x{Delete} ; Cut current line
CapsLock & V::Send {Home}{Enter}{Up}^v ; Paste to current line
CapsLock & Insert:: ; Paste plain text
clipboard = %clipboard%
Send ^v
return
; left alt + key
LAlt & V::Send ^v{Enter} ; paste and go
LAlt & C::Send +{End}^c ; copy to line end
LAlt & X::Send +{End}^x ; cut to line end
LAlt & Space:: ; Run Listary or show/hide listary inputbox. Please use Listary v5.00 and Double-Ctrl hotkey is enabled.
RunOrActivate("C:\Program Files\Listary\Listary.exe", false)
Send {Ctrl 2}
Return
; function key
CapsLock & F1::WinSet, AlwaysOnTop, Toggle, A ; bring current window to TopMost
CapsLock & F8:: ; Run Everything. Please change "Toggle window Hotkey" to Win+` in Everything Options
RunOrActivate("C:\Tools\Everything\Everything.exe",,"The Everything is running. `n`nPress Win+`` to Show it.")
return
CapsLock & F9:: ; Run PowerShell
curPath := CurrentPath()
Run powershell.exe -NoExit "cd \"%curPath%\""
return
CapsLock & F10::RunCmd("") ; Run cmd
CapsLock & F11::RunCmd("""C:\Program Files\Git\bin\sh.exe"" --login") ; Run git sh
CapsLock & F12::RunCmd("C:\msys64\msys2_shell.bat") ; Run msys2 shell ; ## Hotstrings ##
:*:]date::
FormatTime, CurrentDateTime,, yyyy-M-d
SendInput %CurrentDateTime%
return
:*:]time::
FormatTime, CurrentDateTime,, HH:mm:ss
SendInput %CurrentDateTime%
return
:*:]now::
FormatTime, CurrentDateTime,, yyyy-M-d HH:mm:ss
SendInput %CurrentDateTime%
return
:*:]longdate::
FormatTime, CurrentDateTime,, LongDate
SendInput %CurrentDateTime%
return ; ## functions ##
RunCmd(command)
{
curPath := CurrentPath()
Run %comspec% /K "cd /d "%curPath%" & %command%"
} RunOrActivate(Program, isActivate=true, msg="")
{
SplitPath, Program, ExeFile
Process, Exist, %ExeFile%
PID = %ErrorLevel%
if (PID = 0) {
Run, %Program%
} else if (StrLen(msg) > 0) {
MsgBox ,,AHK,%msg%,3
}
if (isActivate)
{
WinActivate, ahk_pid %PID%
}
} EmptyBin(isNoConfirm=false)
{
;SHERB_NOCONFIRMATION = 0x000001;
;SHERB_NOPROGRESSUI = 0x000002;
;SHERB_NOSOUND = 0x000004;
dwFlags = 0x00
if(isNoConfirm) {
dwFlags = 0x01
}
DllCall("Shell32\SHEmptyRecycleBin", "Ptr", hwnd, "Ptr", NULL, "UInt", dwFlags)
} HideOtherWindow()
{
WinGetActiveTitle, curtitle
Send #m
Sleep,200
WinRestore, %curtitle%
} CurrentPath()
{
url := GetCurrentExplorerURL(true)
if (url)
return ConvertExplorerURLToPath(url)
return A_Desktop
} GetCurrentExplorerURL(getLastWhenNoFound=false)
{
WinGet, curhwnd, ID, A
for pExp in ComObjCreate("Shell.Application").Windows
{
if (pExp.FullName = "C:\WINDOWS\EXPLORER.EXE") {
if (pExp.hwnd = curhwnd) {
return pExp.LocationURL
}
if(StrLen(pExp.LocationURL)> 0) {
last := pExp.LocationURL
}
}
}
if(getLastWhenNoFound and last) {
return last
}
} ConvertExplorerURLToPath(url)
{
If !url
Return ""
path := url
path := RegExReplace(path, "ftp://.*@","ftp://")
StringReplace, path, path, file:///
StringReplace, path, path, /, \, All
Loop
If RegExMatch(path, "i)(?<=%)[\da-f]{1,2}", hex)
StringReplace, path, path, `%%hex%, % Chr("0x" . hex), All
Else Break
Return path
}

(#表示Win    !表示Alt    ^表示Ctrl    +表示Shift    ;开始是注释)

使用

使用方法是将脚本保存为扩展名.ahk的文本文件,用AutoHotkey.exe打开即可。从Windows托盘中退出AHK。

也可以用Ahk2Exe转换脚本为exe文件。

注:AHK 与 StartIsBack++ 1.2.1有开始按钮热键冲突,建议使用Stardock的Start10较新版本(目前是1.1)代替它。

AHK官网、下载、帮助文件以及源码的网址

https://www.autohotkey.com/download/
https://www.autohotkey.com/download/ahk-u32.zip
https://www.autohotkey.com/download/ahk-u64.zip
https://www.autohotkey.com/download/ahk-a32.zip
https://www.autohotkey.com/download/ahk2exe.zip
https://www.autohotkey.com/download/1.1/AutoHotkeyHelp.zip
https://github.com/Lexikos/AutoHotkey_L/

一个映射到mac风格按键的AHK脚本(替换虚拟机键盘映射)的更多相关文章

  1. mac 键盘映射 karabiner

    mac 键盘映射 karabiner 今天在vim编辑的时候觉得用mac的方向键有点麻烦 需要移动我的小右手,然后就搜个映射方案. 百度出来了 karabiner. 官网 安装什么的就不说了, 安完了 ...

  2. apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard

    apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard 想在苹果电脑 mac 系统下使用 机械键盘,大部分机械键盘不是为mac设计的,所 ...

  3. 采用truelicense进行Java规划license控制 扩展可以验证后,license 开始结束日期,验证绑定一个给定的mac住址

    采用truelicense进行Java规划license控制 扩展可以验证后,license 开始结束日期,验证绑定一个给定的mac住址. Truelicense 它是一个开源java license ...

  4. 使用webpy创建一个简单的restful风格的webservice应用

    下载:wget http://webpy.org/static/web.py-0.38.tar.gz解压并进入web.py-0.38文件夹安装:easy_install web.py 这是一个如何使用 ...

  5. Win/Mac 键位映射 & 在 Mac 上更改“键盘”偏好设置

    Win/Mac 键位映射 & 在 Mac 上更改"键盘"偏好设置 PC键盘 在Mac下Command/Option键切换 https://support.apple.com ...

  6. 面试题:Linux 中一个文件的 MAC 代表什么意思

    查看文件状态 stat ls 命令能够查看文件的类型.时间.属主.属组,大小以及最近的修改时间等信息,但是还有一些文件的扩展属性,是使用 ls 命令无法查看到的 stat 命令则用于显示文件的详细属性 ...

  7. VIM键盘映射 (Map)~转载

    VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...

  8. VIM键盘映射 (Map)

    http://www.pythonclub.org/linux/vim/map VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命 ...

  9. 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis

    springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...

随机推荐

  1. [转]VS 2013 连接数据库报错 未能加载文件或程序集 Microsoft.SqlServer.Management.Sdk.Sfc

    原文链接:http://stackoverflow.com/questions/16906686/could-not-load-file-or-assembly-microsoft-sqlserver ...

  2. MyScript 手写识别数学公式、图形 自动计算

    项目的地址  http://git.oschina.net/bimingcong/MyScript #说明:MyScript是一种能够自动识别用户在屏幕上的手势,然后转化为相应的数学公式.图形(比如三 ...

  3. C#的UDP服务器

    最新优化版本 /* http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html */ using System; using ...

  4. java多线程-Java中的Copy-On-Write容器

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...

  5. [转]初探 PhoneGap 框架在 Android 上的表现

    原文地址:http://topmanopensource.iteye.com/blog/1486929 phonegap是由温哥华的一家小公司研发的多平台的移动开发框架,支持流行的大多数移动设备(iP ...

  6. UVALive 5010 Go Deeper 2sat

    二分答案,2sat判定. //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio& ...

  7. PHP查看当前端口号

    <?php echo "当前页面服务器IP地址为:"; echo $_SERVER["SERVER_ADDR"]; echo "<br / ...

  8. 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素

    import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...

  9. MS SQL还原备份数据出错

    MS SQL还原 XXXX.bak文件时候,数据库中出现如下的错误. 错误提示: 还原 对于 服务器“SAM-PC\SQLEXPRESS”失败.  (Microsoft.SqlServer.SmoEx ...

  10. 再见Unity3d的死循环

    前两天看见http://www.manew.com/thread-89909-1-1.html这篇译文之前几个小时刚好解决了一个莫名的死循环问题,然后忍不住要把另外一种方法告诉蛮友们.这个方法不需要知 ...