微信号:sagacity-mac

介绍:MacTalk 开通于2012年末,内容起于 Mac 而不止 Mac,内容覆盖了技术、创业、产品和人文思考.文风有趣,又有一点力量.相关图书《MacTalk·人生元编程》《MacTalk·跨越边界》

Vim 学习卡和提鞋的问题(下)

2014-02-25 23:22 MacTalk

昨天的文章摘要是:本来想写一篇干货,写了一半发现湿了……
结果收到一个读者的回复:只要内心是饥渴的,再湿的都能吸成干货!如果把读者分为铁牌读者、铜牌读者、金牌读者,那么此货为:金刚金读者,鉴定完毕。


在互联网的江湖里流行着「唯快不破」的传说,一款互联网产品似乎不以迅雷不及掩耳盗铃之势做出来,江山美人就会白白拱手送人。圈地,出产品,拉用户,快干猛上,一抬头已经花团锦簇!当然,快的后果也可能是这块地压根没有江山美人,刨了半宿,其实是块盐碱地。在产品的成败上,都是以结果论英雄,所以,急性子成功了,当然唯快不破,慢公司赢了,那就是以慢打快,以柔克刚。

但是,「唯快不破」这个词,用来形容 Vim 却是最合适不过。我在之前的 Vim 系列中写过:

写过程序的人都知道,编程的时候双手大部分时间都放在键盘上,或编码、或插入、或移动、或定位、或查找,这种连续操作的时间和频率远远大于阅读、翻页、设置字体、摆弄样式等文案工作,而二者往往产生很多停顿和间隙,而编程时的停顿是非常影响编程效率的,所以 Vim 的设计理念就是通过模式的转换、命令的组合和数以万计的插件,保证程序员在编程的过程中,双手尽可能保留在键盘中央的区域,快如闪电的编辑文件,并且,不需要鼠标。

想做到快如闪电,就需要你记住四种模式切换(普通模式、插入模式、可视模式、命令模式)、大量的快捷键和命令,想通过死记硬背记住这些东西是不现实的,唯有长期坚持不懈的练习和使用才能达到随心所欲的地步,就像乔峰一般,任何平坦无奇的武功到了他的手里,均可化腐朽为神奇。难道就没有捷径和快速学习的方法么?

捷径真没有,方法可以有!今天就给大家说说如何通过 Vim 学习卡逐步实现从入门到精通。

所谓 Vim 学习卡,是用 Vimscript 编写的一个 Vim 脚本,其中包含了两百多个 Vim 用法。首先,我们把这个文件下载到本地,下载地址:

https://gist.github.com/gmccreight/7519289/raw/master.vim

为了避免混淆,把该文件复制命名为 study.vim,命令如下:

cp master.vim study.vim

用 Vim 命令打开文件,我们可以看到文件分为两部分,从第35行华丽的分割线以上是 Vimscript 脚本,用来创建三个命令:「,,」「,c」「,k」,后续我们将通过这三个命令操控 Vim 卡片。

分割线以下是两个队列,第一个是「= Study」,在37行,表示在学的 Vim 卡片。第二个是「= Known」,在831行,表示已知的 Vim 卡片。

开始时所有的 Vim 卡片都在学习队列种,每个 Vim 卡片有三行,第一行是命令,第二行是解释,第三行空行。代码片段如下:

M
go to the middle of the window(大写 M 把光标移到窗口中部)

L
go to the bottom of the window(大写 L 把光标移到窗口底部)

10L
go to the tenth line from the bottom of the window(10+大写 L 把光标从底部上移10行)

<c-d>
Go down half a screen(ctrl +d 向下翻半屏)

学习方式就是从第一个 Vim 卡片开始,学命令,看解释,然后进行操练,练习完成后通过那三个命令移动 Vim 卡片。具体做法:

1、在普通模式执行「:so %」,加载 Vimscript 脚本,定义上面提到的三个命令。

2、把光标移动到 Vim 卡片的第一行,执行:

,,:两个逗号,表示你已经比较熟悉这个命令了,但是还不放心,该操作会把 Vim 卡片放到学习队列的最底部。

,c:逗号+c,表示你对这个命令不明觉厉,希望很快再次见到它,该操作会把 Vim 卡片下移几位,这样你很快就能再次见到它了。

,k:逗号+k,表示你已经彻底掌握了这个命令,该操作会把 Vim 卡片移除学习队列,放入已知队列,也就是「= Known」的下面。


每次学习完成之后,用「:wq」保存退出,下次打开根据上次的进度继续学习。如此循环往复,生生不息,武功终将大成。

当然,你如果总结出了该卡片不包含的命令,也可以加入进来,不断完善,这个 Vim 脚本将变成你的 Vim 学习宝库。


这世界上一直存在一条路,让我们的能力从平庸到杰出,这条路漫长而艰辛,只有少数人愿意走下去,所以,优秀的人永远是少数——来自《MacTalk·人生元编程》


今日推荐:咿呀总动员

这不是个公众账号,而是一个公益活动。咿呀总动员是一项以“亲子·游戏·社交”为主旨的集体互动游戏活动,是由北京听力协会、复聪教育基金和聋康网共同发起的面向听障儿童家庭的公益项目。该活动已经成功举办60多期,得到了社会各界的支持和听障儿童家庭的高度认同,正逐渐成为听力语言康复领域的知名公益品牌。

您可以帮助宣传、当志愿者、赞助,或参与活动,谢谢。

点击[阅读原文],查看活动详情。



 
MacTalk 更多文章 Linux 文件系统的权限王国(三)- 兼送书活动 一生要面试多少回?(上) 一生要面试多少回?(中) 昨日黑莓明日黄花 一生要面试多少回(三)——简历
猜您喜欢 技术分享报名 | AngularJS框架进阶:如何用Angular写界面 一个人,要怎样才算见过世面 Android 开发进阶指南 为你量身定做一场移动技术大会 止戈为舞