程序员们将想法实现成文本。

这些文本转变成数字,而这些数字又与其他的数字想碰撞,最终让让一切变的可能

作为程序员,我们用文本编辑器把我们的想法实现成一段一段的文本,我们称其为“程序”。 全职的程序会花上成千上万的时间和他们的文本编辑器打交道, 而在这过程中他们会做很多事:

Vim 有着令人难以置信的力量,但它并不会发挥出力量, 除非你先花点时间来自定义,以让它适应自己的工作、习惯、以及手指。 这本书会介绍 Vimscript,它是自定义 Vim 的主要编程语言。 你将可以把 Vim 改造成一个为你量身定制的编辑器,而且将更加高效。

在学习的过程中,除了 Vimscript, 还会提及更多关于学习和高效的东西。 如果整天只顾着摆弄着你的编辑器,而不是去工作,那 Vimscript 将起不到什么作用。 所有,关键是要找到一个平衡点。

本书的风格不同于其他大部分编程语言的书。 它不会简单的罗列 Vimscript 是如果工作的,而是指导你通过输入命令来了解他们做了什么。

有时候本书会把你带入死胡同,然后在告诉你解决问题的“正确方法”。 其他大部分的书并不会这样做,或者只是在告诉了你解决方法提一下那个糟糕的问题。 不过,这通常不会在现实世界中发生。 更多的情况是,你正在快速的写着一段 Vimscript 代码, 然后出现了一些诡异而又必须弄清楚的情况。 希望你能按照书中的步骤一步步来,而不是视而不见, 当你习惯于处理 Vimscript 的诡异之后,就能顺利的解决以后碰到的诡异情况。 书山有路勤为径(译注:这里选择意译,和翻译的书名呼应下)。

本书的每个章节都集中讲解一个主题。 他们行文简练但是内容丰富,所以不要一扫而过。 如果你真的想弄懂本书的大部分内容,那最好实实在在地把所有的命令敲一遍。 也许你已经是一个富有经验的程序员,阅读过无数的代码,并且能立马理解他们。 即使这样,那也没有关系。 学习 Vim 和 Vimscript 将是一个完全不同于学习其他编程语言的经历。

所有的命令要一个一个的敲。

所有的联系要一个一个的做。

这非常重要,有两个原因。

首先,Vimscript 是一个古老的语言,有着很多尘封的死角和曲折的幽径。 一个配置选项就可以影响整个语言的工作。 通过敲每一节课里面的每一个命令、做每一节课里面的每一个联系, 你才会发现可以用更简单的命令来构建和配置 Vim,而这些会更容易调试和修正。

其次,Vimscript 就是 Vim。 要在 Vim 中保存一个文件,输入:wirte(或者缩写形式:w),然后按回车。 要在 Vimscript 中保存一个文件,输入write。 很多你马上会学到的 Vimscript 命令,也可以在日常编辑时使用。 但只有在它们成为了肌肉记忆时,才能发挥出他们的作用, 所以只是单纯地阅读本书是达不到目的的。

我希望你们会觉得本书很有用。 本书终将不是一本 Vimscript 的综合指南, 而是让你能轻松地构建自己喜欢的 Vim、为他人编写一些简单的插件、阅读其他人写的代码 (通常是:help)、以及识破一些常见的陷阱。

祝君好运!

原文地址:http://learnvimscriptthehardway.stevelosh.com/preface.html