ITPub博客
首页
博客
专栏
学院
社区
IT新媒体评选
发博
首页
>
>
>
我的编程生涯(14): Vim和脚本语言的启蒙
我的编程生涯(14): Vim和脚本语言的启蒙
作者:
u_453e1a12781dea
时间:2016-02-22 15:14:14
0
删除
编辑
我的编程生涯(14)
Vim和脚本语言的启蒙
按:应Ager的要求,我逐渐地贴出了我曾经走过的路,从一开始的朦胧,到启蒙,到学习和自我学习的过程和那些心中的感情。
这会是一个系列,Ager说会催促我将其完成。那么就从最开始的朦胧开始吧。大家可以就当做小说来看,不过里面我也会将自己的学习过程,以及之后的一些想法加进去。
篇幅比较长一点,不好意思~另外这些文字本身也会 因为大家的反馈做出一些修改。说白了,这就是一个大坑儿,所以谢谢观赏啦~~
回
到了武汉,我又回到了我应该呆着的地方。但,一切都不同了。 仿佛量子效应,
仅仅只是和另一半的关系改变,整个世界都开始不一样。
最显眼的变化自然是短信开始直接变多,电话也是。每天的睡前电话几乎成了标准配
置。但是我还是偶尔会忘记给她打电话——是偶尔还是经常?因为,我开始更加努力去学
习知识。
大二一直在我心中的那种懒散被我驱散。我开始以极大地热情投入学习。因为我知道
,我要为未来担负起责任。我要能找到一份很好的工作,能够养得活她,能够攒足结婚的
钱。我当时真的想得那么简单。而为了做到这一切,我必须更努力去学习,我必须站在比
别人更高的高度。我至少要达到飞燕算法群里面那群得天独厚的大牛们一样的高度。
有时候老师说早恋会影响成绩。我通常嗤之以鼻。因为似乎每次恋爱伴随着我的总是
成绩的提高。后来我才知道老师这句话其实是对女生说的。理解到爱情意思的男生会变得
更加勤奋,因为他体会到了责任的力量,而体会到了爱情意思的女生则会成绩下滑,因为
她们找到了依靠。
所以,男生还是好好恋爱,然后帮助女生复习功课吧。恩,当时的我望着桌上《神农
传说和中国古代神话故事起源》的论文题目皱起了眉头——可是,我架不住女友是中文系
啊汉语言文学专业啊……
所以我无意中达成了高中某同学的心愿:以后我要找个中文系的女生,她们有气质…
…气质?恩,这可以有,也的确有。至少这种见面就表白的文人浪漫气质我可做不到。我
只会将喜欢默默埋在心里,然后让它发芽成参天大树,变成既成事实以后,再慢慢地显露
它的脉络。
恩,反正我找了很多资料,写着中文系的论文,觉得还是蛮开心的。就是数落了她几
句让她认真学习。因为专业知识很重要——对我自己而言是这样的。
我开始正式的去学习Windows系统知识了,我总觉得,在Windows SDK之上,应该还有
一点别的东西。而且我也开始尝试不同的编辑器——比如 Vim。话说是半年前的飞燕群里
面的某人推荐我Vim的,他说他们赛队都用这个。还说这是编程神器,因为用了它输入和
编辑速度能提高很多,这样就能加大AC概率。 但是等我安装上以后,它难用的操作,丑
陋的外观,缓慢的速度,稀少的功能,无一不让我汗颜。然后让我很快地扔下了它。
我当时自我感觉在编程技术本身上,除了换编辑器,我已经没有什么可以提高的了。
想想我小学的时候在课桌上面刻键盘图形,这和鲁迅先生是何其之像啊。所以能在真正拥
有电脑后不到一星期就盲打。我已经很熟练地使用了VS的IDE。我想,要有提高,我得先
试验一点儿不一样的东西。
事实上Vim是世界上最可怕的毒品。你会不自觉地在任何有编辑器的地方按ESC,特别
是聊天窗口,然后你就会眼睁睁的看到聊天窗口消失掉……很显然,我那个时候是不知道
的。
新的身份给了我新的勇气。我觉得我现在什么都不害怕。不就是Vim么?有什么难的
?没荷尔蒙的人一旦突然爆发斗志,其实真的挺可怕的。
我找到了我能找到的所有教程。这里推荐一个“善用佳软”的“普通人的编辑利器”
,和著名的Vim中文手册pdf文档。我开始慢慢地习惯命令模式的Vim,慢慢习惯输入之前
得按i进入输入模式,然后输入完了以后按ESC回到命令模式。其实最开始的时候我是很难
记得要返回命令模式的,但是随着按错键的次数增多,我开始慢慢地记住了。
Vim不是一种知识,而只是一种技术,仅仅是能加快你编程的速度而已。而且要付出
的是,这个工具很难学习,因为刚开始学的时候要掌握的概念太多:模式、命令等等。而
在刚开始用的时候,也会如同用了拐杖一样,会有效降低你的效率。但是在最多一个月以
后,使用Vim就会成为一种本能了。
于是,我就在雄性激素的刺激下,攻克了半年未己的Vim了。但,用着的确非常不熟
悉,最麻烦的事儿,是我暂时完全没法在Vim里面编译我的源代码。
于是,我开始慢慢地学着在命令行里面去编译我的C代码。因为OJ的原因,我已经用
了MinGW(GCC的Windows版本)很久了。突然,所有的环节都达到了——我开始用着命令
行,Vim和GCC了。这意味着我其实已经可以在Linux下面工作了~
另一方面,我开始慢慢了解如何用Vim的命令来编程。这是我第一个了解的脚本语言
。它和C是那么不一样。
我慢慢换掉了大二的时候自己制作的GCC+EditPlus的那个套装(现在还能在BCCN的下
载频道下载到)。开始在Vim里面编写各种各样的脚本。
这似乎是一种很不同的思维。不再去寻找一个可以满足你所有需求的软件,而是去找
一个能让你在里面编程的软件。一个可以输入命令行,然后按一个键让它执行的东西。这
种思路,开始改变了我在软件开发中的看法。
一开始的时候,我希望能写“很完美的程序”,也就是说,程序本身是一个有机的、
完美的整体,用一种特别精密的方式去执行。这是我心目中完美的程序,如同钟表一样。
然而,我的想法开始产生了改变。其实,钟表虽然很美,但是“可玩度”并不高。比如说
即使你掌握了算法的技巧,你能写出很多能实际解决问题的C程序,但是,遇到问题以后
,你依然必须去写C程序。如果,能在遇到问题的时候,我弄用一堆“组件”,组合出我
想要的程序,那样该多好?我开始觉得,其实程序并不必须是一个可以被“动态规划”的
东西。它不一定是一个各部分都是完美的一个整体,它只需要结构优秀,能够切换各个不
同的部分就行。
这样的思想,让我这样“斤斤计较”的人很快地接受了脚本语言这么一个设定。一个
从24K内存机器过来的人,必然会斤斤计较地使用哪怕一点一滴的机器资源。但是我突然
明白,其实我们不必把对性能的榨取放到程序设计的第一步,程序设计的第一步,应该是
设计一个良好的结构,让其中的各个部分都能够很好地被替换。这样,总有一天这个程序
本身可以达到一个完美的状态。而在这之前,这个程序已经可以正常工作很久了。因为这
个原因,我开始对各种脚本语言都产生了兴趣。我在VimL之外还学习了当时刚刚出现的,
还是新东西的Ruby语言。那个时候Ruby的中文资料额外的少,Ruby On Rails还没有得到
大规模的应用,Ruby主要是以Perl语言的继任者,作为系统维护语言出现的。因此它有很
多功能。我基本上就是在阅读Ruby的英文文档,和Vim的中文用户手册中,度过了暑假中
分离的那十多天。
总的来说,突然一下子,我有了很多东西,我的生活开始充满了色彩。我突然好像回
到了大一下的时候,天天坐着公汽去找李春园。但,亦然离得更远,使得我无法天天看到
她。因此我在与她打电话聊天温感情的额外时间,有了更多的精力去学习,而且也有了学
习的激情。我想,如果没有她,我的人生将是另一个样子。
注:
本故事版权属ChinaUnix社区用户
starwing83
所有,转载请注明出处。
(未完待续)
原文作者:;如有侵权,请联系管理员删除。
上一篇:
谷歌 Fuchsia 操作系统将支持运行 Linux 应用程序
下一篇:
Linux Shell 从入门到删除根目录跑路指南
请登录后发表评论
登录
全部评论
u_453e1a12781dea
注册时间:
2019-07-17
博文量
1982
访问量
17885
最新文章
流批一体在京东的探索与实践
高效沟通的5个原则,解决90%的沟通问题
IBM新设计,Linux性能有望大幅提升
MySQL数据库上线前要进行哪些优化?
61个案例!国资委发布!国有企业数字化转型案例汇总!
vivo统一告警平台建设与实践
两年滴滴和头条的后端开发经验!字字都是肺腑之言!
中移动离职中层自述:中国移动如何从优秀到崩溃
大数据拯救地球环境的10种方式
从技术走向管理,你准备好了么?【文末有惊喜】