前言

最后更新于:2022-04-01 21:03:58

> 本书出处:http://learnvimscriptthehardway.onefloweroneworld.com/ [笨方法学Vimscript](http://learnvimscriptthehardway.stevelosh.com/)面向那些想学会如何自定义[Vim](http://www.vim.org/)编辑器的用户。 这 _不是_ 一个Vim _使用_ 教程。阅读本书之前你应该适应用Vim编辑文本,并知道一些诸如 "buffer", "window"以及"insert mode"这些术语的含义。 本书大致分为三个部分: * 第一部分讲述了一些Vim的基本命令,通过这些命令修改你的`~/.vimrc`可以快速、 方便地定制你的Vim环境。 * 第二部分将Vimscript作为一门编程语言做深入了解,包括变量、比较还有函数。 * 第三部分实例创建一个插件。 本书[版权](http://learnvimscriptthehardway.stevelosh.com/license.html)2013 归Steve Losh所有,非经同意,他人不得出版或作更改。 你可以在没有做任何改动且不从中牟利的前提下分享本书。 本书将一直免费在线阅读。 你可以用8$购买一本[电子版(PDF, epub, mobi)](http://leanpub.org/learnvimscriptthehardway)。 你可以用20$购买一本[纸质版](http://bit.ly/lvsthw-paperback)。 你可以用40$购买一本[精装版](http://bit.ly/lvsthw-hardcover)。 可从[BitBucket](http://bitbucket.org/sjl/learnvimscriptthehardway/)和[GitHub](http://github.com/sjl/learnvimscriptthehardway/)获取本书的源码。如果你发下任何错误或感觉某处 可以改善,可以随意提交问题,但是我保留本书的版权,所以,如果你感觉不爽我也能够理解。 程序猿们更喜欢实现自己的idea。 idea形成算法,而算法又发展为算法,并使 _idea成真_ 作为一个程序猿,我们使用文本编辑器记录我们的idea,并为写程序实现它。全职的程序猿 一生中的千分之十的时间都是在和他的文本编辑器打交道,这期间他们的所做的事情包括: * 将他们的灵感记录到计算机上 * 重新考虑并修改灵感中的错误 * 用代码实现他们的灵感 * 写文档记录某功能是如何及为什么那么实现 * 与其他的程序猿交流这个经验 Vim是一个功能相当强大的编辑器,当然,前提是你需要根据你的工作、喜好以及习惯定制 它。本书将向你介绍Vimscript,一门用于定制Vim的脚本语言。读完本书你将能够定制 Vim使其更加适应你的文本编辑需求,以后再使用Vim将有更好的体验。 同时我也会提到一些与Vimscript关系不大的点,但那些内容通常都能加强你对Vimscript的认知。 如果你一天仅很少的时间使用Vim,学习Vimscript对你没有多大意义,所以请慎重考虑并平衡你的时间。 本书的写作风格与其他多数的编程书籍略有不同。本书将引领你敲写命令并查看其背后的奥秘 ,而不是仅仅简单的告诉你Vimscript是如何工作的。 有时本书会带你进入死胡同,然后才会给你解释解决问题的"正确方法"。其他的书籍通常不这么做, 或者仅仅在解决问题 _之后_ 提到其中的技巧。然而这并不是现实世界中事情的进展顺序。 你时常会快速写一些Vimscript的代码段,运行却遇到不明缘由的故障。细致研读此书,不要 局限于浏览,读完之后再次遇到上述问题你将能够顺利解决了。熟能生巧嘛! 本书的每一章节都只讲述一个主题。每一章节都内容简短而信息丰富,所以不要跳过任何章节。 如果你真想从本书中学到东西,你要动手敲写所有的命令。可能你已经是一个经验丰富的程序猿, 能够快速阅读并理解代码的含义。但是不要掉以轻心,学习Vim/Vimscript有个与其他普通程序 语言更加不同的体验。 你需要 **敲写 _所有的_ 命令** 你需要 **完成 _所有的_ 练习** 两个理由解释上述内容的重要性!第一,Vimscript语言是一门古老的语言,其设计难免存在一些 不妥之处。一个简单的配置项就可影响整个脚本的功能。敲写 _每个_ 章节遇到的 _每个_ 命令 ,完成 _每个_ 练习,你就会发现很容易地发现并修复遇到的问题。 第二,Vimscript其实 _就是_ Vim命令。在Vim中,保存一个文件使用命令`:write`(或者缩写 `:w`)并回车确认。在Vimscript中,使用`write`实现文件保存功能。Vimscript中的许多 命令都可用于日常文件编辑工作,必须勤加练习以记住那些命令才会有用, 仅仅是看过是无法运用自如的。 我希望本书能够对你有所帮助。本书 _不是_ 一本对Vimscript的综合指南。本书试图让你 掌握Vimscript,能够利用它定制你的Vim环境,为其他用户编写一些简单的插件, 能够阅读他人的代码(利用`:help`命令),能够分辨出一些常见的语法陷阱。 祝你好运!
';