一、前言 使用 Mac 已经有一年左右的时间了,这一年里我常常想着如何使用 Mac 来提升自己的工作效率。最近总结了一下这一年以来的积累,在这里整理成文章的形式放出来,希望能给大家一些帮助。
再次声明:本文是给一些喜欢折腾提升效率的、希望成为键盘流选手的、懒惰得不愿意多移动手指的、有严重的强迫症的人提供一些经验和帮助的。所以意义党、不分青红皂白党、键盘侠党可以点击叉叉了。
二、正确的使用键盘 键盘是我们在使用电脑时最常用的输入信息工具,所以第一步就是从键盘定制开始,将键盘的使用效率最大化。
1.练就正规的打字指法 如果要问我这几个月来做的比较有成就感的事情有哪些,我绝对会加上将双手二指禅纠正成了正规指法 这件事。我其实在前面的一篇文章中提到过打字速度 这件事情。在我看来练就正规的打字指法 有以下好处:
1.打字速度会比原来高接近一倍,就拿我来说。双手二指禅 的时候我的打字最高速度是30陌生英文单词/分钟 ,这个速度也就一般般吧(当然如果聊天的话会更快)。我纠正指法用了两周,到现在我打字速度已经可以达到50陌生英文单词/分钟 ,这里的提升是显著的。 2.打字速度不仅会变快,还会有持续提升的空间,使用双手二指禅 之前我也练过一些提升速度的练习,但是指法其实是我当时提升打字速度的瓶颈,练来练去没啥长进。有了正规指法之后,其实指法已经不是提升打字速度的瓶颈了,用的越久你会觉得打字速度越快,一般人时间可以达到80陌生英文单词/分钟 。 3.纠正指法也是一个体现你是否愿意为提升自己而做出改变的事情,纠正指法的是一个有点难受的过程,这个过程其实也是一个逃离舒适区的过程。 4.最后一个好处就是你可以轻松的学习我后面对 mac 做出的一些定制,如果不是正规指法的话学习历程可能会难一点。 说了这么多怎么才能练就正规的打字指法呢?戳这里吧: typingclub ,注意这不是广告,这是一个外国的练打字的网站。
2.缩小键盘区域 有了标准的指法,其实还有一个好处刚刚没说:就是手的姿势就不用经常变化了 。但是有同学会说:你骗人!谁说不会经常变化,难道你不需要按删除键 、上下左右键 、~键 等等边缘按键了吗?我当然要按,不过我不需要移动手的姿势就能按到,这也是我这一节要说的东西。
键盘区域.jpg
上图就是我目前的键盘配置了,我一个个为大家来解释:
1.首先红的的框框圈出来的都是我目前绝不会使用的按键(fn 应该一个多月会用上一两次吧。删除键,在刚进系统打错了密码时会用上 ),而黄色框框圈出来的就是用于替代那些废弃的按键 。这样一来你会发现,不管你怎么打字手都会保持着一个姿势——标准的指法姿势 。这样的方案对于我这么一个有极强的强迫症和完美主义的人来说是极具吸引力的。 2.接下来我来介绍一下具体的替代方案:
1.fn 键用处极少,具体要使用的地方:比如一些 ide,可以在系统中设置将键盘顶部的触摸屏直接显示为 f1-f12 。 2.我们可以看见键盘上的 command 和 option 这两个键都有一对分布在键盘的左右。其实这在我看来是非常冗余的,正好整个键盘上面没有 home 和 end 键(这两键在码字的时候非常有用 ),所以可以直接替换掉。在替换掉之后,这两个键也可以像字母数字键一样被当做功能键坠饰 来使用。 3.control 键废除,因为如果想不改变手的姿势来按 control 那么按的时候极其费力。故将其废除,然后用 caps lock 键来代替它。而 caps lock 键就可以用 shift 键来替代,这样一来 control 键就变得触手可及了。 4.有了触手可及的 control 键,接下来我们就可以对剩下的废弃键进行改造了:使用 control + 黄框中的键 代替红框中的废弃键 。 1.control + hjkl 这几个键用来替换上下左右键 ,此时如果你用过 vim 就会知道我为啥要这样设计了,因为在 vim 的普通模式下,就是这样移动光标的。而 vim 是上古时期键盘中没有上下左右键时就已经存在的软件,对于一个程序员来说 vim 应该是非常需要掌握的。 当然shift + 上下左右键 可以用control + shift + hjkl 来替换,有些人会说原本 control + hjkl 带来的快捷键咋办呢?这个我会在后面讲快捷键 的章节讲到。 2.control + io’ 这三个键可以用来替代 -=| 这几个键,同样 control + shift + io' 也可以用来替代上面几个键的 shift 模式。至于这里设计的原因其实比较简单:一个是因为我在盲打 的时候经常按不准这三个键。另一个则是因为这三个黄框键的相对位置与三个红框键的相对位置相似,便于在距离减小的基础上进行肌肉记忆。 3.还剩下 delete、esc、~ 这三个键,这里我分别用 control + enter [ home 键来替换他们。 1.detele 的替换是因为其按的时候手指一动幅度过大,而替换成 control + enter 可以达到与原来敲击类似的手感。 2.esc 的替换一个也是因为动作幅度过大。另一个原因则是 vim 中可以使用 control + [ 来退出各种模式。 3.至于 ~ 的替换也只是因为敲击幅度过大而已。 3.如果你是一个程序员的话你会发现这里键盘的布局方式非常像 hhkb 而且更加激进 。到了这里如果最能实现上面的方案的话,一切将会是多么的和谐(来自一个强迫症患者的狂喜 )。当然我真的实现了 ,而且已经使用了超过一个月的时间了,最终的效果怎么样呢?效果就是:当我因为不可抗力使用普通键盘的时候我会一直吐槽这键盘怎么设计的这么傻:) ,那么下来我就来说说应该怎么实现这个方案吧!
1.首先在实现这个方案的时候会用上两个改键软件,建议先看我之前写的入门文章:让你的Mac成为超高效率的工作工具 2.首先要用到的软件是:karabiner-elements ,这个软件可以直接调换两个按键,如下图所示:
1.我将 **~ 上 下 左 右 - = **这些按键都设置为了 f20,这样的好处是可以在前期不熟练的情况下,来强制自己使用配置后的按键。 2.然后是将 left_command 与 left_option 互相调换了一下,这里交换的原因其实是之前我想统一 win 和 mac 的快捷键使用方式,具体可以参考我之前写的入门文章。现在的话读者可以看自己的需要判断需不需要交换。 3.然后是我将 right_command 和 right_option 变成了 home 和 end,这样在码字的时候挺方便的。 4.最后则是将 caps_lock 换成了 left_control。
karabiner-elements配置.png
3.接下来我们需要用到神器:KeyBoard Maestro ,这个软件非常厉害,简单来说就是可以通过软件提供的功能制作各种脚本 以实现一些特别的操作。在后面我们会很频繁的使用这个软件,大家一定要去看我前面提到的入门文章 ,这样可以很轻松的学习后面的定制教程。
1.这里我默认大家都知道如何使用这个软件所以就直接上我的配置了如下图:在图中大家可以看见我映射了各种快捷键,这里要注意一个问题就是,每个配置触发按键的方式都要选择 is pressed,这样最终才能实现和普通按键一样的效果 。 keyboard-maestro键盘缩小配置水印.jpg
到这里整个键盘使用方式就说完了,我这里只是提供了一个比较成体系的键盘定制方式。至于最后的效果嘛就交给大家去评判了,反正对于我来说是极大的提升了码字码代码的效率和舒适度。
三、正确的使用快捷键 我们在使用电脑的过程中会使用各种不同的快捷键,这也是提升工作效率的方式之一。这一章我就来讲讲如何正确的使用快捷键(使用的方式会超出你的想象 )。
1.设计快捷键的体系 我们首先来讲一讲如何从全局的角度来设计一个快捷键的体系
1.我们首先得定义 shift、control、option、command 这几个键的使用场景 1.shift + 字母/数字键 用于输入大写字母或者是符号,shift + 上下左右/home/end 用于选中文字。 2.control + 各种键 可以用于以下几个场景: 1.刚刚说的键盘小型化 2.为了兼容 win 的快捷键,可以将 mac 的各种编辑键从 option 转移到 control 上面(例如复制、粘贴、全选、撤销等等 )。这里的方案在入门文章里写了。 3.在各种具体的应用下面 control 也负责着各种操作,比如我是一个程序员我在使用JetBrains全家桶、VsCode等等ide 的时候就会让 control + ; 来作为呼出命令框的快捷键、vim 的一些编辑功能也全部是用 control 来实现的。总的来说就是各个具体应用下的一些功能快捷键可以用 control 来实现,至于其中会产生的冲突我们到实现的时候再解决。 4.其实上面这些场景已经差不多会用掉 control 下80%左右的按键了,接近饱和。 3.command + 各种键 主要可以用于除全局编辑快捷键以外的全局操作 1.打开文件夹,我们可以定义一些常用的文件夹来通过快捷键打开。注意这里并不需要每个文件夹都定义一个快捷键 ,所有文件夹都可以用一个快捷键解决。这个在入门文章中也有实现方案。 2.定义一些自动化脚本,多个脚本也可以使用一个快捷键进行触发。比如我最近定义的脚本就是自动将 chrome 中的标签同步到 safari 中。 3.对应用窗口的设置,只要通过一个快捷键就能实现将某个应用的窗口占左一半、占右一半、占上一半等等精确分割屏幕的操作。 4.快速启动应用,对于这个操作我是给每个非常常用的应用一个专属的快捷键比如:微信、qq、Android Studio 等等。这样能达到最大的启动速度。而对于不是很常用的应用可以只通过一个快捷键统一调用,这样速度会慢一点。 5.最后一种使用场景其实和 control 的第三种使用场景相似:也是负责各种具体应用下的各种操作,因为各种应用当然不可能只使用 control 一个按键就能操作的过来。 4.option + 各种键 用的不是很多,因为左手的大拇指比较难按到,所以使用场景比较少 1.mac 原生的复制、粘贴、全选、撤销等等 这些全局编辑按键在各个应用下都是 option 开头的。因为我们前面已经将这些操作映射给 control + 相同的键 了,所以这得给它们占个坑,不能修改,好在option 键在本体系中使用场景很少 2.音乐的全局控制按键,这个的话其实是我个人的喜好,大家可以自己看。 2.快捷键体系的实现 就像前面说的那样快捷键体系的实现主要是通过 keyboard-maestro 来连接各种 app 最终实现的。我接下来就简单截图说几个实现
1.这里说一下为什么一个快捷键可以跳转多个文件,其实当你按下一个快捷键的时候,如果有多个脚本响应的话,软件会让你继续输入脚本名字匹配。 2.打开文件夹可以通过调用 Finder 的功能前往文件夹... ,然后提前定义一下要输入的文件夹的名字来实现。如下图 打开文件夹.jpg
3.应用窗口设置可以通过 keyboard-maestro 内置的功能实现 变化窗口.jpg
四、正确的使用软件 前面说了这这么多比较"重"的东西,现在就来介绍一些有用软件吧。因为我是一个程序员,所以可能对程序员来说更有帮助一些。
1.让你的输入法不再乱跳 使用 mac 的时候有一个问题常常困扰我:我不想用 mac 默认的输入法,但是有时候切换应用的时候它就会跳出来导致我又得切换一下输入法,于是我想有没有一个软件能把我的输入法固定下来呢?有的那就是 keyboard pliot,他可以给每个应用设置不同输入法,于是你只要都设置成一个输入法即可。另外有些人会说我想在某些应用里就只输入英文,有些应用里只输入中文咋办呢?其实如果你用的是搜狗输入法就直接能在偏好里设置。
keyboard pliot配置.png
2.快速切换软件的补充 前面我们提到了如何快速的切换应用,其实这里还有一个不完美的地方就是:如果一个应用有很多个窗口的话,那么之前的方案并不能很好的达到精准切换。所以这个时候就要 contexts 这软件登场了,它可以通过搜索找到对应的应用然后进行切换,这样就补全了我们前面说的情况。
contexts.jpg
3.正确的使用jetbrains全家桶 程序员应该知道是啥东西,不管你是写 java、android、php、js、python还是c++,mac 下面都能使用它们的 Ide。这里我就分享一下我最近几个月才学习到的妙招吧:
1.你只要记住一个快捷键,就能像使用命令行一样进行各种操作:记住这个东西他的名字叫Find Action ,你可以在快捷键映射里面找到它,接下来你只需要自然而然的记住各种命令就行了。 2.vim 插件:vim 真的是一个神器,除了我刚开始习惯花了一点实现,到现在为止我觉得我的编码效率提升了一个档次。而且在平时编码的时候使用 vim 这样有助于统一各个端的编辑方式。这样跨平台的时候就会方便很多。 3.还是关于 vim 的东西:这里就贴一个连接吧 vim 插件高级配置 ,vim 插件可以通过定义来调用 IDE 的各种操作。 4.更多软件 其实到这里我已经把肚子里的东西都吐光了,大概是年初的时候我已经在 让你的Mac成为超高效率的工作工具这里初步分享了我使用的各种软件,现在这篇文章其实是算进阶篇吧。