每天都做一点

我是怎么在七天的空闲时间里掌握 vim 的?

如何学习一项技术

对于开发人员来说,要学习的知识太多了。大到网络协议、数据库、测试技术,小到每一门语言的语法、一个框架,甚至是一个第三方库的学习,都不是看一天就能学会的。需要我们有计划、不间断地学习。

为什么需要不间断?

一门技术是连贯的,一环扣着一环,前后知识联系紧密。如果一周学一天,或者想起来看两眼,最后即使完整看完了也是支离破碎的状态,也很难达到掌握的地步。只有让今天学的知识与昨天的形成联系,不断深入,最后才能对这项技术有一个完整的理解和把握。

所以呢,每天都看一点。

把一门知识或一项技术拆分,确定好每天的任务量,什么时间能完成也就能够把握了。这个每天的任务量不能太重,一定是自己确定能够完成,不然前期进展缓慢的话很容易就放弃了。很多时候放弃都是在前期,一旦我们对一件事到了掌握了一定程度的时候,想放弃都难。

这里面有几点需要注意:

  • 我说的每天意思是连贯、有规划,也不一定每天都安排,视知识的总量、难易程度以及你每天的时间而定。可以每周安排三天,一三五、二四六都可以。比如《数据库结构与算法》(我看的是极客时间的《数据结构与算法之美》,很不错,这是课程链接),这门课我就不可能每天学一节,做笔记理解消化再加上编写代码,一晚上都不一定够,所以我安排的是一三五。

  • 最好每次都把上次的知识回顾一下,每次的任务量小,所以复习起来没有那么困难,尤其是在做了笔记的情况下。这样,学习效率应该有很大提升。

  • 中间不要放弃,哪怕是有事耽搁一两天,往后顺延就是了,别放弃。

  • 可以借助工具,设置好间隔,到时间就提醒自己。我用的是巨硬公司的 Microsoft-Todo app,很不错,上手前务必阅读使用帮助,有一点点难度。

我用七天学会了 vim

我为什么要写这篇文章?

原因是我的时间管理能力极差,但是这个拆分方法是我在学习过程中自己摸索出来的。

然后,我用五天学会了 vim,自认为学得还不错。

什么是 vim?

vim 是人类史上最好的文本编辑器,本人无意引起 vim vs emacs 大战,但这句话可是我最佩服的耗子叔说的,我很赞同。vim 可以让你完全摆脱鼠标和小键盘,高效,炫酷,但是很难学。我记得我第一次接触 vim 是在我学习 Git 的时候,当时使用 commit 命令忘记加 -m 参数,瞬间出现一个陌生界面,最操蛋的是,怎么退都退不出去,后来只能结束窗口会话才算是摆脱了它。再后来我又遇到了第二次、第三次,那时我已经通过 Google 查到了怎么退出,也大概了解了什么是 vim,但难度较高,而且开始用 hjkl 使用起来十分不适应,尝试学习几次之后只能作罢。

直到我在 github 上遇到了 learn-vim(by dofy)项目。

这是一个包含基础、进阶部分的 vim 实操教程,分为七小节,七个 markdown 文件。需要你用 vim 打开文件,作者通过 markdown 文本的形式在讲解 vim 操作的同时会在文中让对文本进行实操,高效、明了,真是怎么赞美都不为过。

总之,推荐学习。

而我呢,就是每天学习一节,每天都会复习上一节学习的内容,就这样,七天基本掌握并且爱上了 vim。

并且,有一天无意中查到了一个 vim 的 chrome 插件,从此浏览网页我就再也用不到鼠标了。(你能想象这种感觉吗,虽然以前我也可以通过 chrome 的官方快捷键勉强做到,但体验和 vim 相比,就是一个天上一个地下了。)

vim 大法好!

不只是编程

除了编程,这个方法当然也适用于学习其他东西。

比如英语。

说实话,考研之后,也没有英语考试的需要了,我的英语水平大概只处在原地踏步的水平。如果真的没有下降的话,那也是归因于看了不少美剧,开始尝试看一些英文技术文章。但这样还远远不够,第一,听力不行,无字幕看美剧我是根本做不到的。第二,阅读也不行,简单的技术文档没问题,但是那些英文博主列出的最简单的英语阅读入门书籍我看着都有些吃力。先把这两项解决了,口语什么的只能日后再说了。

所以我想了想,还是决定通过美剧入手。

  • 《生活大爆炸》即使不考虑专业词汇,语速对我来说也是过快的。这两天开始看《老友记》,不看字幕听了一下,还不错,就是它了。

  • 拆分任务,目前是这样打算的,两天一集,第一天先看纯英文字幕的,第二天看无字幕的,直到能完全听懂为止。

还有,目前数据库学习正在进行中,看的是廖雪峰老师的博客教程。每天两小节,预计半个月学完。

至于其他的,我觉得以我目前的时间分配来说,完成每天的工作基础上,英语和数据库能按计划进行就很不错了,至少等学完数据库再说吧。

其他

极客时间《数据结构与算法之美》课程链接,扫描二维码即可。