1 平台API的重要性
要使用任何一门语言写出点真正有用的程序来,都离不开平台API的调用。使用C/C++开发Windows程序需要大量调用Win32API,开发Linux程序需要大量调用Linux API,开发Java程序,需要调用使用Java封装好的平台API。API大体上分为两种,一种是以函数的形式体现,如Win32API, Linux API, Socket API等,另一种则是以类的形式体现,供面向对象的语言使用。也有混合的,如PHP的平台库中既有函数,又有类。
对于VimScript来说,其底层平台就是vim,API的形式是函数库。vim 7.3版本提供了近300个内建函数供用户使用,要想轻松的操控vim,必须熟练掌握常用的内置函数。不要重复实现与内置函数相同功能的函数,因为内置函数是C编写的编译好的二进制代码,执行速度远远高于VimScript编写的函数。
2 Vim平台内建API分类介绍
vim提供的近300个内建函数,从功能上可以分为几个大类。
2.1 字符串操作类
(1)nr2char({expr})
number to char。返回一个作为ASCII码的值(整数)对应的字符串。
(2)char2nr({expr})
char to number。返回一个字符串的首字母的ASCII码值。
(3)str2nr( {expr} [, {base}] )
string to number。把一个字符串转换为整数,参数base是进制数,可以是8,10,16。如果不提供base参数,那么默认按照10进制转换。这与字符串到整数的自动转换不同。自动转换会根据字符串的前缀自动判别进制数。
(4)str2float( {expr} )
string to float。把一个字符串转换为浮点数。
(5)printf( {fmt}, {expr1} ...)
格式化,返回格式化后的字符串,而不是打印出来。与C版本的printf类似,只是这个函数不打印,而是返回格式化后的字符串。
下面 给出个小例子,试验试验。
ec