keyboard maestro 7有哪些很酷的 macros 和技巧

Keyboard Maestro v6.4.7 官方最新版
其他人还下载了
1v5.0.2 官方最新版精推个人最常用的几款Mac上的第三方应用:Seil & Karabiner无论是你是否为Vim用户,把Caps Lock键换成Esc键(或其他功能键)都是必须的,更何况Esc键除有退出功能外,在Mac中还有非常实用的自动完成(autocomplete)功能。如此风水宝地让一个百年不用的大写锁定键占领绝对是一种巨大的资源浪费。Seil能在此助你一臂之力。Karabiner让用户充分定制键盘映射(Caps Lock键例外,需要Seil)。个人部分设定:把苹果Fn键映射为Hyper键,当其与X(某一字母、数字或符号)组合时相当于“????X”,同时也不影响其与F1-F12等键的组合功能。如此定义热键不仅减少键盘敲击,且不易与其他热键冲突。单击六个功能键(Fn键、?键、左?键、左?键、右?键和右?键)分别映射到F13-F18键(但不影响其正常modifier功能),以便进一步定义为其他热键(Alfred、Keyboard Maestro等键盘设置软件是不区分左右?键或?键的)既然Caps Lock键已被定义为Esc键,那么原Esc键便可定义为其他键,如F19键。单击左?键产生左括号,单击右?键产生右括号(程序员一定喜欢)交换符号“~”与“`”(尤适常用命令行者)AlfredAlfred作为快启工具大名鼎鼎,毋庸多作介绍。顺便说一下,个人设置单击右?键(即以上定义的F17键)唤出Alfred。至少对像我这样懒人来说,这比默认按双键的“?space”更舒心(后者被定义为唤出Alfred的剪贴板)。Keyboard MaestroKeyboard Maestro的知名度比Alfred小,功能上各有千秋。在我看来,双剑合璧威力更大。比如:Alfred的workflow很强大,但Keyboard Maestro的macro也不逊色,并且创建起来更简单(尤其对不会编程或不想编程的用户来说),管理上也更为方便。此外,Keyboard Maestro还有便利的管理和切换程序的功能,剪贴板功能也比Alfred的更为强大(如支持命名、富文本、加星号、隐藏密码等)TextExpanderTextExpander的功能较为单一,即文本替换。不仅支持纯文本,而且支持富文本和图像。此外,还支持变量替换,以及用AppleScript、JavaScript或Bash编写的函数替换。除内建的一些文本替换外,用户还可方便地通过URL引入他人的snippet集合。特别地,TextExpander不只是简单的静态文本替换,还支持光标设定以及填表(Fill-In),即提供一个表格模板(含单行文本、多行文本以及菜单选项),让用户即时填写。TextExpander另一亮点是:对用户频繁输入的词组提示创建缩写,对已创建缩写却未利用缩写的也会进行提示。这种人机互相学习的模式很好,日积月累之下,用户的缩写越来越多,文字输入效率也越来越高。此软件还有iOS版,在手机或平板上也能用(不过本人尚未尝试)。BetterTouchTool对MacBook的用户推荐BetterTouchTool(或类似其他工具)。大多数情况下,快捷键的确又快又酷,但也有例外之时。比如当一只手被占用或远离键盘时,鼠标或触控板更快更方便。不夸张地说,利用BetterTouchTool设置的以下几个触控板手势(Mac自带的手势太有限)大大提高了个人的幸福指数:轻点右下角相当于middle click。经常在浏览器中新开链接标签,用“?click”或用右键菜单实在太辛苦轻点左下角下载光标所在的图像双指捏拢和放开对应极大化和恢复当前应用窗口双指左右滑动翻页,包括浏览器、Finder、Evernote等应用(相当于“?[” 与 “?]”)。三指下滑关闭当前窗口或浏览器中的一个标签页(相当于?W)三指上滑恢复浏览器中刚关闭的标签页(Chrome或Firefox:??T,Safari:?Z),其他应用则新开标签页(相当于?T)三指左右滑动切换标签(相当于“?[” 与 “?]”)四指左右滑动切换空间(space)(这个实际是在系统偏好中设定的)四指下滑隐藏当前应用(相当于?H)五指下滑退出当前应用(相当于?Q)五指按下快速锁屏其他还有各种调用常见应用的手势以及Magic Mouse手势,就不一一举例了。各位完全可以根据个人爱好自由发挥。iTerm2 & Oh My Zsh对程序员强烈推荐。句号。Dash心目中Dash主要是开发类工具,故起初未写入答案。后来考虑到其确能提高程序员效率,即使非程序员用户,也有不少需要查找bash、html、vim、sublime或markdown的reference,还能用标签管理snippet,决定还是补充上来。Dash具有良好的集成性,能方便地与各种IDE、终端、脚本、工具乃至任意app集成。比如在唤出Alfred后只要键入语言关键词(如p代表python,j代表java,具体可在Dash偏好中定制)加空格,接着就可以输入查询关键词了。结语以上软件是本人的必备工具,无日不用、片刻难离。尤其Karabiner、Alfred与Keyboard Maestro三款软件,从根本上改变了Mac的使用方式。加上Mac自带的Spotlight与Automator,真应了那句老话:只有想象力才是你的极限。它们常会给用户带来两种愉悦感:一种来自设置时的创造性灵感,另一种来自使用时的便捷舒适感。其他与效率直接相关且常用的软件还有:PopClip、Moom、MacID、Bartender、 iStat Menus、KeyCue、OptionSpace、Wunderlist等。时间有限,不再具体展开。Mac下能提高效率的软件数不胜数,具体效果因人而异。这里特别提出两点原则:付费原则。以上推荐的工具大多是付费的(Alfred免费版功能有限,一定要用付费版)。关注效率者,当知时间即金钱。既如此,何不舍用金钱换时间呢?很难想象,买得起iMac或MacBook的人,会付不起几百元软件费。付费软件未必一定更好,但仅仅因为软件需付费就第一时间放弃考虑无疑是不智的。现实中这类人为数众多,还经常这么自我安慰:其实某款免费软件功能也差不多嘛。格局低者,效率难高。各有所专原则。许多软件功能强大,用户不要花了眼,尽量使用每款软件最核心、最擅长的部分。比如:Karabiner、BetterTouchTool、Spotlight均能定义热键启动软件或打开网页等,但最好还是交给更擅此类任务的Alfred或Keyboard Maestro;后二者均有定义snippet的功能,但不如让TextExpander承担此责;而对于代码方面的snippet,Dash又更胜一筹。再如:Alfred与Spotlight均能搜索文件和应用,我却在Alfred中禁止搜索一般文件或文件夹,在Spotlight中禁止搜索应用。这样不仅提高了软件的运行效率,也因减少查询结果而提高了用户的效率,并且在脑海中建立了软件与功用之间鲜明的映射关系,既助于记忆也便于管理(若希望在Alfred中搜索文件,可在搜索前加空格,表示快搜文件)。
Alfred 再次推荐&br&附插件下载网址 &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Alfred 2 Workflow List&i class=&icon-external&&&/i&&/a&&br&&br&SizeUp &a href=&///?target=http%3A///sizeup/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Irradiated Software&i class=&icon-external&&&/i&&/a&&br&你还曾记得大明湖畔Windows下的左右分屏效果?Mac 自带没有这个功能,所以有了这款神器,远远想让当前应用程序在任何一个角楼都是OK的。&br&&br&Bartender &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bartender | Mac Menu Bar Item Control&i class=&icon-external&&&/i&&/a&&br&Mac下菜单栏管理应用,可以让菜单栏上杂乱无章的图标,变得井井有条。&br&&br&Airmail &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Airmail - Lightning Fast Mail Client for Mac&i class=&icon-external&&&/i&&/a&&br&Mac下极其优秀简洁的邮件客户端,支持插件&br&&br&CheetSheet &a href=&///?target=http%3A///CheatSheet/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CheatSheet&i class=&icon-external&&&/i&&/a&&br&长按command键会出现当前可以使用的快捷键,键盘党的福音&br&&br&Notability &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Notability&i class=&icon-external&&&/i&&/a&&br&Best of 2014 on Mac 第一名,非常强大的备忘录。&br&&br&iWork 全系列&br&Pages 和 Keynote 比 word 和 ppt 简单干净,功能上弱了一些,但是挺好用的&br&&br&Omni 全系列 &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Omni Group&i class=&icon-external&&&/i&&/a&&br&为了Mac而生的家族,可惜太贵&br&&ul&&li&OmniFocus 最好的GTD工具&/li&&li&OmniGraffle 最好的画图工具&/li&&li&OmniOutliner 最好的提纲工具&/li&&li&OmniPlan 最好的项目规划工具&/li&&/ul&&br&感谢评论区补充&br&&br&Dash &a href=&///?target=http%3A///dash& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dash for Mac&i class=&icon-external&&&/i&&/a&&br&编程文档查询浏览以及Snippet管理&br&&br&update: &br&Helium &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Helium by JadenGeller&i class=&icon-external&&&/i&&/a&&br&始终悬浮在窗口前面的浏览器,没钱买扩展屏幕的小伙伴必备。
Alfred 再次推荐附插件下载网址 SizeUp 你还曾记得大明湖畔Windows下的左右分屏效果?Mac 自带没有这个功能,所以有了这款神器,远远想让当前应用程序在任何一个角楼都是OK的。Bartender
更新&br&&br&转自己另一个答案,事后统计,对我工作效率提高最大的应该是这个。。。&br&&br&&a href=&/question//answer/& class=&internal&&Mac(OS X)有哪些冷门但是一但发现就无法自拔的软件? - 知乎用户的回答&/a&&br&&br&===================================================&br&(以下是原答案)&br&&br&刚刚WIN转MAC时从这个问题中获得不少提示,现在也来回馈一下吧。&br&&br&软件其他答主都列得差不多了,我这里谈谈如何利用这些软件提高效率吧。&br&&br&1. 全键盘操作方案&br&&br&因为我家离开公司大概有一个半小时的火车,经常在车上干活。火车上位置窄,用touchpad手歪着不方便。为此费了不少心思凑了一套全键盘的操作方案,几个月下来,感觉还是挺不错的。&br&&br&需要的软件:&br&&ul&&li&Contexts - 窗口切换软件 - &a href=&///?target=https%3A//contexts.co/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Contexts — Window Switcher&i class=&icon-external&&&/i&&/a&&/li&&li&Keymo - 键盘鼠标 - &a href=&///?target=https%3A///keymo/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/keymo/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&/li&&li&Shortcat - 全窗口easy motion - &a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Shortcat - Keyboard productivity app for Mac OS X&i class=&icon-external&&&/i&&/a&&/li&&li&Moom - 窗口布局 - &a href=&///?target=https%3A///moom/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/moom/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&/li&&li&Keyboard Maestro - 热键脚本 - &a href=&///?target=https%3A///main/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&/mai&/span&&span class=&invisible&&n/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/li&&li&Alfred - 这个不用说了&/li&&li&浏览器装vim插件,chrome下是Vimium,Firefox下是Vimperator,Safari下是Vimari&/li&&/ul&&br&首先启动器和一些不常用的窗口切换就直接用Alfred打名称,常用的窗口则用Contexts来切换。好处是可以用shift+command把窗口调整到特地的序号上,然后option+数字就能直接跳到该窗口,且同一app的不同窗口会分别列出,无须进入该app后再用command+`来切换。&br&&br&&img src=&/37bd056c8eb977dc46fd_b.png& data-rawwidth=&583& data-rawheight=&586& class=&origin_image zh-lightbox-thumb& width=&583& data-original=&/37bd056c8eb977dc46fd_r.png&&&br&窗口的定位和尺寸则用Moom的快捷键来搞定。Moom有个好处是只需要定义一个全局快捷键进入Moom模式,然后再用其他快捷键进行操作,并不会占用大量全局快捷键。&br&&br&浏览器下装了vim插件后可以直接用F键进行Easy Motion跳转。大部分软件可以用Shortcat进行Easy Motion跳转。&br&&br&&img src=&/65bd803ff35beeab8cb3c_b.png& data-rawwidth=&1065& data-rawheight=&689& class=&origin_image zh-lightbox-thumb& width=&1065& data-original=&/65bd803ff35beeab8cb3c_r.png&&&br&但仍然会有些软件不能完美使用Shortcat,比如说Intellij IDEA的内部区域,或者需要按右键或双击。这时可以用keymo加Keyboard Maestro来扫场。Keymo虽然提供了比较完整的键盘鼠标方案,但缺点是占用太多全局快捷键,因此我只利用它的三个功能,一是放大鼠标光标(多屏幕下非常好使),二是键盘模拟鼠标滚轮,三是区域移动。&br&&br&&img src=&/6e0ede44aa6f30d428da91_b.png& data-rawwidth=&342& data-rawheight=&318& class=&content_image& width=&342&&&br&区域移动这个功能比较有趣,使用后出现十字光标,然后可以用方向键将光标向某个方向进行二分定位(定位至该方向的中点),有时可以用较少的步数准确定位到较远的位置上。&br&&br&&img src=&/262be39fae43c8_b.png& data-rawwidth=&441& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&441& data-original=&/262be39fae43c8_r.png&&&br&但实际使用起来却常常令人非常着急,明明光标已经移动到目标边上了,一按方向键它又移动到该方向的中点上去了,还得往回按好几下移回来。因此还得配合Keyboard Meastro来用。&br&&br&Keyboard Meastro有个好处是,你可以指定某个Group的热键平时禁用,直到你按某个热键才启用整个Group。这样可以极大减少全局热键冲突,还可以把无组合键的纯字母键设成热键,象我这种习惯了Vim的模式切换的人用起来非常顺手。&br&&br&&img src=&/8e91fdae660b170dcfcd167a_b.png& data-rawwidth=&380& data-rawheight=&164& class=&content_image& width=&380&&&br&(设定为用Command+J进入或退出键盘控制鼠标模式)&br&&br&这样一来,我就可以使用keymo把屏幕分成16个假想区域(4X4),用单手键位对应每个区域,一键直接到达该区域的中点。&br&&br&&img src=&/6ad040f5c029c1f2f10ccc4_b.png& data-rawwidth=&356& data-rawheight=&383& class=&content_image& width=&356&&&br&upper section和lower section分别对应屏幕上半部和下半部各8个区域,用左手键位来跳转。比如说,这是一号区域(屏幕左上角,按数字1直接到达)&br&&br&&img src=&/13b507acd38efdab2e752d9_b.png& data-rawwidth=&386& data-rawheight=&246& class=&content_image& width=&386&&这是15号区域(屏幕最下方中间偏左),按字母C直接到达。&br&&img src=&/b4f3bb5afcbffec4ced9ca_b.png& data-rawwidth=&383& data-rawheight=&238& class=&content_image& width=&383&&更方便的是,可以继续把这个区域分成16份,重复上述步骤,比如说,我要定位到“发布回答”,按CW就行了(W对应第6号区域,中间偏左上)&br&&img src=&/87cff9a4ecb68dbd472befdd_b.png& data-rawwidth=&383& data-rawheight=&236& class=&content_image& width=&383&&&br&脚本定义很简单,一个快捷键定义为4次方向键,把光标移动到需要到位置,例如&br&&br&&img src=&/ee252cc4ac6fe0a13c0f549a642f7238_b.png& data-rawwidth=&406& data-rawheight=&497& class=&content_image& width=&406&&当然,鼠标的左中右键点击,进入“区域移动”模式等,也可以定义到单个字母键上。&br&&br&这样任何鼠标操作,一般来说最多四五下按键就能完成。一开始还是挺不习惯的,但熟练之后一些常用位置几乎可以盲打,手还不用去摸鼠标,非常舒服。&br&&br&2. 全系统Vim操作&br&&br&我是Vim的重度依赖症患者,所有IDE和浏览器都装了Vim插件,巴不得整个系统都用Vim键位来操作。为此也在这方面下了点功夫。&br&&br&首先terminal工具选用iTerm+TMux+Fish+Ranger +lnav 。TMux可以用Vim键位翻页复制;Fish自带Vim模式(不过只在当前行有效),且自动补全功能十分强大;Ranger是个非常顺手的命令行文件管理器;lnav是个Vim键位的log文件查看器(可替代tail)。&br&&br&GUI方面,首先可以用Keyboard Meastro搞一个一键开Vim宏:&br&&br&&img src=&/429a23995bdf1c5c1895_b.png& data-rawwidth=&817& data-rawheight=&636& class=&origin_image zh-lightbox-thumb& width=&817& data-original=&/429a23995bdf1c5c1895_r.png&&&img src=&/ad5cabf00990a4bdb782cc14_b.png& data-rawwidth=&817& data-rawheight=&224& class=&origin_image zh-lightbox-thumb& width=&817& data-original=&/ad5cabf00990a4bdb782cc14_r.png&&&br&大体思路是把当前选中内容复制输出到一个临时文件中,用Vim独占打开,等Vim退出后,把文件内容推送到剪切板,切换回原来的应用并粘贴。这样基本上任何文本框内容都可以一键(需要先全选或选中部分)在Vim中打开编辑了。但局限是编辑过程中不能离开Vim,否则未必能正确切换回原来的程序。如果切换失败了,手动切过去粘贴也是可以的。&br&&br&其次可以一定程度上用热键模拟Vim的键位。免费的Karabiner就自带Vim模拟器。不过我个人并不喜欢,主要原因是其启动热键设置并不够灵活(只有几种选择,不能自由定义),要配置在某些应用中禁用也不够方便(要编辑配置文件,还要找应用ID),不小心进了Search Mode或Completment Mode有时还退不出来。因此我是自己用Keyboard Meatro配的。方案就不完整列了,简单列一些关键点的截图吧:&br&&br&-------&br&&b& 更新了Karabiner的Vim模拟器配置方案,一定程度上修复了上述问题,基本可用了。如果不想折腾可以跳过本节直接看最后更新。&/b&&br&-------&br&&br&每种模式都需要一个Group,特别地,进入Vim Mode的热键要单独放一个Group,要完美模拟组合命令(比如说删除行dd),则要为同一前缀的命令单独开一个Group(比如下面的Vim Delete Mode,从Vim Mode按d则进入该模式,再按d触发此Group中的删除行脚本)&br&&img src=&/a4dadbea54eb6c22d6936a37_b.png& data-rawwidth=&175& data-rawheight=&119& class=&content_image& width=&175&&&br&Keyboard Meastro中可以方便地设置在某些应用中不使用Vim模式&br&&img src=&/4f4fae93ab791dcb14dc_b.png& data-rawwidth=&383& data-rawheight=&266& class=&content_image& width=&383&&&br&Vim Mode中定义基本的移动命令和模式切换命令&br&&br&&img src=&/ac8a3af3efc1_b.png& data-rawwidth=&351& data-rawheight=&657& class=&content_image& width=&351&&&br&子模式中分别定义模式按键,比如&br&&br&删除模式 (按D后进入)&br&&img src=&/6dea9c0d7805ddbb7e6f7e4b1692a3aa_b.png& data-rawwidth=&354& data-rawheight=&146& class=&content_image& width=&354&&选择模式 (按V后进入)&br&&img src=&/6d953e20130eed147f483ac_b.png& data-rawwidth=&353& data-rawheight=&295& class=&content_image& width=&353&&复制模式 (按Y后进入)&br&&img src=&/1b2f52ecd455dac563502_b.png& data-rawwidth=&358& data-rawheight=&120& class=&content_image& width=&358&&&br&&br&脚本中移动光标后要停顿一下,否则某些应用(比如说MS OneNote)下会不生效。&br&&br&&img src=&/e88cd5e4fcbbeab836ca0f0ab1cc8d3e_b.png& data-rawwidth=&466& data-rawheight=&427& class=&origin_image zh-lightbox-thumb& width=&466& data-original=&/e88cd5e4fcbbeab836ca0f0ab1cc8d3e_r.png&&&br&I键退出Vim Mode (Vim Mode关闭时就相当于插入模式),安全起见,在这里显式退出所有可能的Vim模式。&br&&br&&img src=&/ffdfeaf41f1f_b.png& data-rawwidth=&423& data-rawheight=&658& class=&origin_image zh-lightbox-thumb& width=&423& data-original=&/ffdfeaf41f1f_r.png&&&br&进入子模式时,禁用主模式。在退出子模式时再打开。&br&&br&&img src=&/35a232b8e3ad88bbc380_b.png& data-rawwidth=&449& data-rawheight=&445& class=&origin_image zh-lightbox-thumb& width=&449& data-original=&/35a232b8e3ad88bbc380_r.png&&&img src=&/c20a1adeed_b.png& data-rawwidth=&407& data-rawheight=&444& class=&content_image& width=&407&&&br&有些组合命令如果不想另开一个Group,可以用提示输入变量来模拟&br&&br&&img src=&/2afcef6e4aed245b75ae53_b.png& data-rawwidth=&495& data-rawheight=&731& class=&origin_image zh-lightbox-thumb& width=&495& data-original=&/2afcef6e4aed245b75ae53_r.png&&&br&&img src=&/c4437dfbc04fbd5ec515bbd39721f28f_b.png& data-rawwidth=&813& data-rawheight=&387& class=&origin_image zh-lightbox-thumb& width=&813& data-original=&/c4437dfbc04fbd5ec515bbd39721f28f_r.png&&&br&以上脚本是,在删除模式下(你已经按了D),按I提示用户输入余下命令,输入w后按回车则删除当前光标所在单词。好处是不用另开Group,坏处是要多按一下回车,还会弹出一个颇出戏的提示框。不过还是可以接受的。&br&&br&至此,几乎九成的操作都可以用纯键盘完成,几乎九成的输入都可以使用(简单)Vim键位了。&br&&br&&br&&br&&br&&b&=============================&br&4/02/:49 am 更新&/b&&br&&br&最近做了阑尾手术,在家休整中,抽空看了一下Karabiner的Vim Emulator配置。找到了定制进入Vim Mode的方法,Search Mode无法退出的问题也修复了。不想折腾的朋友直接用Karabiner的Vim Emulator就好了。&br&&br&具体方法是:&br&1. 在private.xml中加入以下配置(在&root&元素内部)。&br&&div class=&highlight&&&pre&&code class=&language-xml&& &span class=&nt&&&replacementdef&&/span&
&span class=&nt&&&replacementname&&/span&VIM_EMU_ONLY_APPS&span class=&nt&&&/replacementname&&/span&
&span class=&nt&&&replacementvalue&&/replacementvalue&&/span&
&span class=&nt&&&/replacementdef&&/span&
&span class=&nt&&&replacementdef&&/span&
&span class=&nt&&&replacementname&&/span&VIM_EMU_IGNORE_APPS&span class=&nt&&&/replacementname&&/span&
&span class=&nt&&&replacementvalue&&/span&TERMINAL, VI, CATHODE, PASSWORD, FIREFOX, EMACS, IDEA&span class=&nt&&&/replacementvalue&&/span&
&span class=&nt&&&/replacementdef&&/span&
&span class=&nt&&&appdef&&/span&
&span class=&nt&&&appname&&/span&IDEA&span class=&nt&&&/appname&&/span&
&span class=&nt&&&equal&&/span&com.jetbrains.intellij&span class=&nt&&&/equal&&/span&
&span class=&nt&&&/appdef&&/span&
&span class=&nt&&&item&&/span&
&span class=&nt&&&name&&/span&Daniel Vim Mode Shortcuts&span class=&nt&&&/name&&/span&
&span class=&nt&&&item&&/span&
&span class=&nt&&&name&&/span&Simultaneous X,V toggles Insert Mode - Normal Mode&span class=&nt&&&/name&&/span&
&span class=&nt&&&appendix&&/span&In Virtual or Command mode, it changes to Insert Mode.&span class=&nt&&&/appendix&&/span&
&span class=&nt&&&appendix&&/span&(You must enable vim emulator first)&span class=&nt&&&/appendix&&/span&
&span class=&nt&&&identifier&&/span&remap.vim_emu_jiSp_toggle{{VIM_EMU_ALTCONFIG}}&span class=&nt&&&/identifier&&/span&
&span class=&nt&&&block&&/span&
&span class=&nt&&&block&&/span& &span class=&c&&&!-- Complement Mode --&&/span&
&span class=&nt&&&config_only&&/span&notsave.vim_emu_complement{{VIM_EMU_ALTCONFIG}}&span class=&nt&&&/config_only&&/span&
&span class=&nt&&&autogen&&/span&
__SimultaneousKeyPresses__
KeyCode::X, KeyCode::V,
KeyCode::RETURN,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_vim_emu_complement{{VIM_EMU_ALTCONFIG}},
KeyCode::VK_CONFIG_FORCE_ON_notsave_vim_emu_normal{{VIM_EMU_ALTCONFIG}},
KeyCode::VK_NONE,
KeyCode::ESCAPE, Option::NOREPEAT
&span class=&nt&&&/autogen&&/span&
&span class=&nt&&&/block&&/span&
&span class=&nt&&&block&&/span& &span class=&c&&&!-- Search Mode --&&/span&
&span class=&nt&&&config_only&&/span&notsave.vim_emu_search{{VIM_EMU_ALTCONFIG}}&span class=&nt&&&/config_only&&/span&
&span class=&nt&&&autogen&&/span&
__SimultaneousKeyPresses__
KeyCode::X, KeyCode::V,
KeyCode::ESCAPE,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_vim_emu_search{{VIM_EMU_ALTCONFIG}},
{{VIM_EMU_EMU_ON}}
KeyCode::VK_CONFIG_FORCE_ON_notsave_vim_emu_normal{{VIM_EMU_ALTCONFIG}},
KeyCode::VK_NONE,
KeyCode::ESCAPE, Option::NOREPEAT
&span class=&nt&&&/autogen&&/span&
&span class=&nt&&&/block&&/span&
&span class=&nt&&&block&&/span&
&span class=&nt&&&autogen&&/span&
&span class=&c&&&!-- 自定义的进入Vim Normal Mode按键 --&&/span&
__SimultaneousKeyPresses__
KeyCode::X, KeyCode::V,
{{VIM_EMU_MODE_TOGGLE}},
KeyCode::VK_CONFIG_FORCE_OFF_notsave_vim_emu_visual{{VIM_EMU_ALTCONFIG}},
KeyCode::VK_CONFIG_FORCE_OFF_notsave_vim_emu_visual_line{{VIM_EMU_ALTCONFIG}},
KeyCode::VK_CONFIG_FORCE_OFF_notsave_vim_emu_visual_line_first{{VIM_EMU_ALTCONFIG}},
&span class=&nt&&&/autogen&&/span&
&span class=&nt&&&/block&&/span&
&span class=&nt&&&/block&&/span&
&span class=&nt&&&/item&&/span&
&span class=&nt&&&/item&&/span&
&/code&&/pre&&/div&&br&&ul&&li&保留IGNORE_APPS的原因是Vim Emulator画蛇添足地支持在插入模式(也就是正常输入的时候)中按Control-P和Control-N直接进入Completement模式,暂时我还没有找到方法禁用这个设定,因此需要使用以上两键的应用需要IGNORE掉。(如果想在任何应用中使用Vim Emulator,有个折中的方案,下文会提到)&br&&/li&&li&这里我的配置是使用X和V两键齐按进入Vim Mode,并且修复了Search Mode无法退出的问题。至于Completment Mode,默认情况下是按回车(选中)或Control-H(取消)退出。方便起见我这里直接配成了按XV同样会退出Completment Mode。&/li&&/ul&保存配置文件后在Karabiner的配置中Reload XML,选中以下项目:&br&&img src=&/c05c69eefbc39cd050a249b_b.png& data-rawwidth=&423& data-rawheight=&90& class=&origin_image zh-lightbox-thumb& width=&423& data-original=&/c05c69eefbc39cd050a249b_r.png&&&br&&img src=&/56f16f18e01d01aabcb4c_b.png& data-rawwidth=&376& data-rawheight=&76& class=&content_image& width=&376&&&img src=&/effd5f19d1d6d5aacf3f29_b.png& data-rawwidth=&422& data-rawheight=&461& class=&origin_image zh-lightbox-thumb& width=&422& data-original=&/effd5f19d1d6d5aacf3f29_r.png&&即可。大部分的基本Vim移动修改操作都支持,我比较喜欢的地方是在Vim Mode时有悬浮提示&br&&img src=&/39b920fdb1da151b32ea2d0b7dc03775_b.png& data-rawwidth=&381& data-rawheight=&162& class=&content_image& width=&381&&不容易出现忘了当前模式结果光标乱飞的情况。坏处就是那个鸡肋的Completment Mode以及不容易进一步定制了。&br&&br&=========================&br&如果实在不爽Completment Mode或者在一些本身就支持Vim Mode的应用中偶尔也使用一下Karabiner的Vim Emulator (比如说在Intellij的工具窗口中用jk来上下移动还是挺爽的),有个折中的方案。&br&&br&编辑 /Applications/Karabiner.app/Contents/Resources/include/checkbox/vim_emu/vim_emu_core_emu.xml 文件,把下面高亮的代码注释掉即可。&br&&br&&img src=&/d76db7ace3de2c_b.png& data-rawwidth=&628& data-rawheight=&433& class=&origin_image zh-lightbox-thumb& width=&628& data-original=&/d76db7ace3de2c_r.png&&&br&注意这个文件默认状态是只读的,要么用sudo vim来修改,要么在修改后用 :w !sudo tee % 来保存。&br&&br&然后就可以把private.xml中的IGNORE_APP列表注释掉了。说它是折中方案,因为修改了Karabiner的内部文件,每次升级后会被覆盖回去,需要重新修改一下。
更新转自己另一个答案,事后统计,对我工作效率提高最大的应该是这个。。。===================================================(以下是原答案)刚刚WIN转MAC时从这个问题…
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 keyboard maestro 7 的文章

 

随机推荐