编程人员把想法转换成代码文本。
这些代码文本转换成数字,这些数字最后转换成其他数字,最后才使得想法得以实现。
作为编程人员,我们使用文本编辑器把我们头脑中的想法表示出来,编写成一大段的文本,并称之为“程序”。全职的编程人员会花费他生命中成千上万个小时来和他的文本编辑器打交道,在这段时间里,他们主要做一下几件事情:
- 把原始的代码文本从大脑里输入到电脑上。
- 修正文本上的错误。
- 重新调整文本,通过另外的方式来解决问题。
- 通过文档来描述为什么一件事是通过某种特殊的方式来实现的。
- 和其他的编码人员来沟通所有的这些事情。
Vim 在处理这些问题上非常强大,但是如果你不能够为你的工作习惯和你的手指来定制它的话,就没法完全发挥它的作用。这本书会给你介绍 Vimscript,它是用来定制 Vim 的主要编程语言。你可以用它来把 Vim 打造成更加满足你个人的操作习惯的工具,这样你接下来的人生就可以更加高效地使用 Vim。
在这过程中,我也会提到一些严格意义上和 Vimscript 无关的内容,一般会是一些关于学习和如何提高效率的内容。如果你整天都把时间浪费在折腾你的编辑器,而不是工作上,那么 Vimscript 用得再好是没有任何用处的,你需要在两者之间取得一个平衡。
这本书和很多其他的编程书籍不一样。除了会告诉你 Vimscript 如何工作之外,它还会指导你去执行一些命令,然后查看会有什么样的效果。
有时候,这本书里在讲解一个问题的时候,首先会把你带到一个死胡同里,而不是直接告诉你解决问题的“正确”方式。大部分其他的书籍都不会这样,顶多只是在告诉你答案之后才告诉你这是个棘手的问题。但是现实的问题往往不是这样的。大部分情况都是,你会很快写一大段 Vimscript 代码,接着就碰到一个很棘手的问题。本书通过这种方式,而不是直接略过这种情况的方式来让你能够熟练掌握 Vimscript 的一些奇特用法,从而不断突破自己,然后达到熟能生巧。
这本书的每个章节都专注于一个主题。虽然每个章节都很短,但是里面的信息量很大,所以不要只是略读过它们。如果你想要充分学习这本书的内容,你就需要亲自敲完每一行命令。也许你已经是一个经验丰富的编程人员,你能够很熟练地阅读代码。即使是这样,也没有问题,相比较学一门平常的编程语言而言,同时学习 Vim 和 Vimscript 是一种很不同的体验。
你需要敲完每一行代码。
你需要完成所有的练习。
我有两个原因要求你完成上面两个要求。第一,Vimscript 是一座古老的殿堂,它里面有充满灰尘的角落,也有着曲曲折折的走廊。一个简单地配置甚至可以改变整个语言的工作方式。通过完成每一章的命令和练习,你会很容易发现你的 Vim 配置上的问题,并且能够很快地去修复。
第二, Vimscript 其实就是 Vim 命令。在 Vim 里保存一个文件,你会用到:write
(或者是:w
)然后回车。通过 Vimscript 保存文件,你会用write
。其实你从本书里所学到的 Vimscript 命令都是你日常编辑文本都会使用到的,但是只有你把它们都熟练练习起来才会对你有所帮助,而这是没法只通过阅读来进行提高的。
我希望这本书能够对你有所帮助。这本书并不会介绍 Vimscript 的全部内容。它只会让你学习通过 Vimscript 这门语言来打磨你的 Vim ,让它变得更加合适你的胃口,让你能够写一些简单的插件,能够阅读其他人的代码(通过:help
命令的帮助),能够避免踩一些常见的坑。
祝您好运!