├── README.md └── UseWindowsLikeMac.ahk /README.md: -------------------------------------------------------------------------------- 1 | # UniformShortcut 2 | 让Windows和Mac下的各种快捷键统一起来。减轻记忆负担,更畅快地在跨平台环境中工作。 3 | 4 | ## Purpose 5 | 目前来讲,我的工作环境是在Windows台式机,我的个人电脑是Mac笔记本。虽然我在两个环境下都是用hhkb。但是两种操作系统还是有许多快捷键不一样。这对我的记忆带来了负担,使得做事效率略有降低。所以我希望通过个性化的设置,使得对于同样的操作,在Windows和Mac OS下是一样的键盘动作。 6 | 7 | ### 不涉及Linux 8 | 9 | 下面涉及到的快捷键也都是指的可视化界面的快捷键,而不是[Command Line快捷键](https://github.com/lucky521/LuckyToolNotes/blob/master/shortcut/readline.md)。因为Linux主要是在纯命令行环境,绝大多数操作习惯和Mac下是一样的。Windows下的命令行环境区别比较大,Windows上对命令行的使用场景也不是很多,而且在Win10后天然内置了UbuntuLinux环境。另外想说用Cygwin遇到很多无解的坑,所以还是不用Cygwin了。 10 | Mac下的常见快捷键有 [Mac Shortcut](https://github.com/lucky521/LuckyToolNotes/blob/master/shortcut/mac-shortcut.md) 11 | 12 | ## strategy 13 | 14 | - 尽可能让WindowsOS的Win键和MacOS的Cmd键使用习惯保持一致。 15 | - 对于不一致的快捷键,谁应该迁就谁,取决于个人历史习惯和哪一方的用法更好用。 16 | - 配置方法尽可能的简单,容易迁移。 17 | - Ctrl键设置在左右小拇指最舒服的位置(也就是Caps键的位置) 18 | - 普通键盘和Mac键盘的alt键和Cmd键的物理位置是对调的,软件层面将其映射一致。 19 | - 对系统不带来副作用。 20 | 21 | 22 | ## Shortcuts 23 | 24 | 下面提到Cmd键在Windows下就是Win键,在Mac下就是Cmd键,对于大多数键盘来说这两个是同一个键。 25 | 26 | - 输入法切换: 27 | Cmd + space 28 | 29 | - 快速搜索: 30 | Alt + space 31 | 32 | - 摊开所有窗口供切换: 33 | Alt + Tab 34 | 35 | - 程序内自定义的一些快捷键: 36 | Alt + xxx (自己自定义,被冲突就行 37 | 38 | - 窗口切换: 39 | Cmd + Tab 40 | 41 | - 窗口布局: 42 | Cmd + 上下左右 43 | 44 | - Tab页操作: 45 | - Cmd + W 关闭标签页 46 | - Cmd + T 新建标签页 47 | - Cmd + num 标签页切换 48 | 49 | - 关闭程序: 50 | Cmd + q 51 | 52 | - 内容编辑组合键: 53 | 复制、剪切、粘贴、全选、撤销、重做、保存、搜索、加粗,使用Ctrl配系。 54 | 55 | 56 | 57 | ### 键盘映射工具 58 | - Mac系统设置里Keyboard->Shortcuts->App Shortcuts直接提供了键盘快捷键修改的设置。此外推荐工具`Karabiner`。Mac系统设置可以直接修改修饰键的定义,根据HHKB的使用习惯,我习惯将CapsLock键直接变为Ctrl键,不再设置CapsLock键。 59 | - Windows系统不能直接修改快捷键和修饰键设定。可以修改注册表里的键盘定义。推荐使用PowerToys(微软开发的开源工具),或者使用工具`Autohotkey`,可以hook键盘快捷键映射到想要的快捷键。 60 | 61 | 62 | ### 增强工具 Helper Tools 63 | - 快速搜索和跳转: 64 | Mac下使用Alfred;Windows下使用PowerToys或Launchy。触发快捷键都设为alt + space。 65 | 66 | - 窗口切换: 67 | Windows下使用Switchy来增强窗口切换功能,快捷键设为Cmd+Tab和Cmd+`。 68 | Window10之后,窗口切换上和MacOS基本一致了,可直接使用Lwin + Tab 和 Alt + Tab 69 | 70 | - 鼠标滚动方向: 71 | 如果用鼠标的话,在Mac下使用 Reverse Scrolling 可以使滑轮滚动方向和Win一致。 72 | -------------------------------------------------------------------------------- /UseWindowsLikeMac.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 2 | ; #Warn ; Enable warnings to assist with detecting common errors. 3 | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 4 | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 5 | 6 | 7 | ; Use Windows like Mac OS 8 | ; Lucky521 9 | ; Virtual-Key Codes 10 | ; https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx 11 | 12 | 13 | ; # Win (Windows logo key) 14 | ; ! Alt 15 | ; ^ Control 16 | ; + Shift 17 | 18 | 19 | ; Edit operation (Cmd to Ctrl) 20 | ;#s::^s 21 | ;#a::^a 22 | ;#c::^c 23 | ;#v::^v 24 | ;#x::^x 25 | ;#f::^f 26 | ;#z::^z 27 | ;#y::^y 28 | ;#b::^b 29 | #c::Send ^{vk43} 30 | #x::Send ^{vk58} 31 | #v::Send ^{vk56} 32 | #s::Send ^{vk53} 33 | #a::Send ^{vk41} 34 | #z::Send ^{vk5a} 35 | #b::Send ^{vk42} 36 | #f::Send ^{vk46} 37 | #y::Send ^{vk59} 38 | 39 | 40 | ; Tab switch 41 | #t::Send ^{vk54} 42 | #w::Send ^{vk57} 43 | #n::Send ^{vk4e} 44 | 45 | #1::Send ^{vk31} 46 | #2::Send ^{vk32} 47 | #3::Send ^{vk33} 48 | #4::Send ^{vk34} 49 | #5::Send ^{vk35} 50 | #6::Send ^{vk36} 51 | 52 | 53 | ; Close windows (Cmd + q to Alt + F4) 54 | ;#q::Send !{F4} 55 | #q::Send !{vk73} 56 | 57 | 58 | ; App switch (Win + Tab to Alt + Tab) 59 | ; Lwin & Tab::AltTab 60 | 61 | 62 | ; Input Method switch 63 | #Space::Send ^{vk20} 64 | --------------------------------------------------------------------------------