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. 第一章 tomcat安装与启动

    一.安装 1.下载tomcat安装包 2.解压安装包 3.配置环境变量 打开~/.bash_profile文件,输入一下两句话: export TOMCAT_HOME=/Users/enniu1/De ...

  2. org.hibernate.MappingException: Unknown entity

    org.hibernate.MappingException: Unknown entity 原因1: 异常是因为使用注解的时候没有导入正确的包.要清楚,Entity包是javax.persisten ...

  3. 基于选择重传ARQ传输协议的数据重传机制方案设计

    原文链接: http://blog.csdn.net/pinghegood/article/details/7841281  1.背景 最近在项目中,由于使用TD网络传输数据,数据掉包严重,软件组老大 ...

  4. 计算机图形学——OpenGL开发库开发库

    vc++6.0 有 OpenGL 的东西.有头文件 GL.H, GLAUX.H, GLU.H 但没有 GLUT 软件包/工具包 如果想使用glut.h的话必须自己添加. 首先下载 OpenGL开发库, ...

  5. struts2的result的type属性

    一共有两个属性name和type name这里就不介绍了 type    返回结果的类型,值可以从default-struts.properties中看到看到 常用的值:dispatcher (默认) ...

  6. 【Java学习笔记】<集合框架>TreeSet,Comparable,Comparator

    public class Person implements Comparable{ private String name; private int age; public Person(){ su ...

  7. linux下如何查找需要的文件后并删除

    1.首先查找指定目录下的文件,默认为当前目录 使用命令:find . -name 'a.txt' 会得到当前目录下所有包括子孙目录下的所有后缀为txt的文件 2.查找后删除 使用命令:find . - ...

  8. nodejs:csv模块解析

    Nodejs最大的特点就是基于事件驱动和异步并发操作.大多数人知道nodejs是用于网络后台服务的新平台,可以很方便的提供后台服务:除了用于网络开发外,其实nodejs对于线下文件并发处理也是很方便的 ...

  9. 如何使用grunt工具

    本文来源于同事的笔记,也是在网上查找的资料,记录分析的特别详细,对初学者来说简直不能再通俗易懂了,感谢原作者! 1.前言 选择Grunt原因 管理我们的文件依赖 随心所欲的批处理任务 整合常用的前端工 ...

  10. SQL中Group By 的使用

    1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...