键盘与复利

本文主要描述键盘快捷键、Emacs keybindings和Vim mode等带来的效率提升,以及这些提升的意义。

友情声明:我不直接使用Emacs或Vim,我只是使用它们当中我知道和喜欢的部分。

零、前言

每次当你将手从键盘的主区域(广义的Home row keys)移动到方向键,或者改为使用鼠标来点击软件界面时,效率都有所下降。因为:

  1. 移动你的手需要时间;
  2. 移动你的手消耗了你大脑的注意力(判断手到了方向键、鼠标没有);
  3. 移动鼠标、判断鼠标光标是否到达需要的位置同样消耗你大脑的注意力;
  4. 用鼠标点击菜单,需要时间寻找菜单项,消耗了时间。

看到这,相信你也猜到了,本文正是要强调应该节约时间,减少注意力的消耗

一、键盘快捷键

最常见的键盘快捷键是(以Windows系统为例):

Ctrl + C : 复制
Ctrl + V : 粘贴

在复制一个文件时,使用Ctrl + C这比起“将手移动到鼠标,然后再去点击菜单”要快了至少6倍(假设按Ctrl + C需要0.3秒,而后者需要2秒)。

对于程序员来说,除了复制粘贴,还有如下常用的操作:

  • 将光标移动到行尾
  • 复制、删除光标所在的那一行代码
  • 跳到指定行号的那行
  • 切换窗口到上一个或者旁边的Tab
  • 切换到上一个app、指定的app
  • 将选定的一行或者多行代码注释掉
  • 启动构件(Build)
  • ...

时间消耗估算

按粗略估计,假设上述操作平均每次多消耗1秒,每分钟出现2次,一天实质工作6小时,那么一天就多消耗:

1秒 * 2 * 60 * 6 = 720 秒 = 12 分钟

那么一年下来就多消耗:

12分钟 * 22 * 12 = 3168 分钟 = 52.8 小时 ≈ 6.6 工作日

当然,相信大多数程序员或多或少也会记住和使用常见的快捷键,所以真实数据未必有上述估算那么触目惊心。

关于快捷键的建议

关于快捷键,我建议程序员们找到所使用的Editor、IDE或其他软件的快捷键表,逐个试一下,并且复习、练习那些常用但又一下子记不住的快捷键。

如:

二、Emacs Keybindings

简单来说,就是使用Ctrl + P / N / B / F分别代替了方向键的上下左右——一下子为右手减少了至少12厘米的行程。

这在macOS中是默认开启的,即意味着所有Editor、IDE中甚至输入框控件中都可以使用。而Ubuntu Linux上则需要手工操作一下(详见:Emacs-like keybindings system-wide?)。至于Windows,我就没有研究过了。

当然,这当中还有其他一些有用的组合键:

按键 效果
Ctrl + A 移到行首(段首)
Ctrl + B 左移
Ctrl + D 向右删除
Ctrl + E 移到行尾(段尾)
Ctrl + F 右移
Ctrl + H 向左删除
Ctrl + K 向右删除至行尾(段尾)
Ctrl + N 下移
Ctrl + O 光标后插入新行(注:有别于回车)
Ctrl + P 上移
Ctrl + T 交换光标旁边的两个字符
Ctrl + V 类似Page Down
Ctrl + Y 粘贴先前由 Ctrl + K 删除的文本

(注:我没有学习过Emacs,只是知道上述组合键)

三、Vim Mode

小测试

请先自我测试一下,以下场景你是不是通过Home、End或者方向键等方式来实现的呢:

  1. 光标在行首,需要将其移动到第4个单词尾部
  2. 光标在行首,需要将其移动到第一个左小括号的位置之后,以便输入新文本
  3. 将光标移动到所在单词的下一次出现的位置(例如,在switch单词上,移动到下一个switch中)
  4. 想将当前行代码重复4次,以便作微小修改 (field1, field2, field3之类)
  5. 想删除3行代码

如果用Vim mode的话,很容易就达到了。按键分别如下:

  1. 3w e (3次按键)
  2. f ( a (3次按键)
  3. * (1次按键,无论两个单词间相隔多少行)
  4. yy 3p (4次按键,仅包含复制粘贴,未包含修改动作)
  5. 3dd (3次按键)

Vim mode的优点

它真正的优点,在你没有亲身体验之前,是很难向你言传的。只能概括如下:

对于同样的操作,它减少按键的次数、操作的时间,减少了大脑用于判断光标移动位置等的分神、消耗,最终大大地提高了效率。

如果你等不急的话,先看看这个教程中的动画演示吧:

我的Vim mode之路

对于Vim mode,我颇有相见恨晚的感触。曲折经历如下:

  • 2001年学习Linux时学过Vim(或称Vi),当时只是记住了有Normal mode、Insert mode之类的区别、HJKL是使用光标的、退出时颇为麻烦;(听说有人为了退出Vim,不惜使用Ctrl+Z,然后kill掉Vim)
  • 2006年有同事给我演示GVim(Vim的Windows版本),当时也没觉得它有什么威力;
  • 直至2015年,有位老同事(真的“老”,他生于五十年代)在吃饭之余给我演示Chrome浏览器中如何使用Vimium这个插件做到看网页不用鼠标——正是这实实在在的演示打动了我,令我痛下决心去学习Vim mode——学习了之后才发现,不少Editor、IDE支持Vim mode。

Vim教程

鉴于我的经历,这里我也就给你搬运一下带有演示的Vim教程,希望它们能给你带来足够的震撼和学习动力:

另外也推荐看看“酷壳 CoolShell”上的Vim系列文章

支持Vim Mode的软件

很多软件都有支持Vim mode的插件,甚至原生支持,这也足见其实用程度:

四、上述三者于复利的关系

复利是什么?简单来说,就是1.01的100次方就约等于37.78,即是:微小的增长随着时间的推移而累计,越到后面收益的增长越大,且呈指数式增长。

上文中仅仅是快捷键一项中的估算(强调:是估算),一年就可以节省6.6个工作日了,还没有算上Emacs Keybindings和Vim Mode呢。

如果这势头累计20年……不算下去了,不少人在讨论35岁的程序员何去何从呢。 😊

参考(注,本文目的不是讨论投资、理财):

复利是什么,为什么爱因斯坦说它是宇宙最厉害的东西之一(复利应该属于投资理财)?

五、结语

工欲善其事,必先利其器——鉴于复利的效应,建议立志当个好程序员的朋友尽早实践本文的3点建议。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容