Vim的配置文件、语法文件、插件文件都使用VimScript,一种vim专用的脚本语言。 这种语言有点类似于 PHP 和 JavaScript,但又不一样。 它只能运行在vim平台上。 从本文开始,我将记录作者自己学习这门语言的一些经验。 大致的学习思路是:语言定位---数据类型与转换---基本句型---功能---平台API---实用插件编译。
1Vim脚本简介
VimScript 是一种用于配置和扩展 vim 的专用脚本语言。 它具有动态类型、面向对象(不完全)、异常处理等现代语言特性,一般属于PHP语言派系,但不像PHP那么干净。 它是编译vim插件的基本语言,但它不是唯一的语言,因为vim还支持通过python、perl等语言编译其插件。
就像开始学习其他语言一样typescript数组unset,让我们从 HelloWorld 示例开始。 与编译语言不同,脚本语言通常支持在线编程和调试,也支持将代码写入文件以便稍后执行。 我们分两种情况给出反例。
启动vim后,进入Normal模式
:echo '你好,VimScript!'
然后按回车,命令行窗口就会复制出来
你好,VimScript!
创建一个名为 hello.vim 的新文本文件。 写下以下内容:
" 这是注释
:echo ‘Hello, VimScript!'
然后进入vim的Normal模式
:sourcehello.vim
它还将被复制到命令行窗口中
你好,VimScript!
通过这个简单的例子,我们了解了VimScript最基本的知识:
(1) 双冒号及其旁边的文字属于评论内容
(2) 输出使用:echo关键字
(三)按行为执行单位
(4) 使用:source命令执行外部VimScript文件
此外,VimScript 严格区分大小写。
2VimScript数据类型
数据类型在任何编程语言中都起着重要作用,VimScript 也不例外。 VimScript 支持 6 种数据类型,分别是:Number-有符号整数、Float-浮点数、String-字节字符串(字符串)、Funcref-函数引用、List-有序数组、Dictionary-无序关联字段。 下面详细解释每一项。
(1)数量
32位有符号整数,相当于C或PHP语言中的int。 如果从引用和值来分类,这种类型就是值类型。
(2) 浮动
浮点类型typescript数组unset,相当于C或PHP语言中的float。 值类型。
(3) 字符串
string类型相当于C或PHP语言中的字符串。 值类型。
(4) 函数引用
函数引用,相当于C或PHP语言中的函数类型。 参考类型。
(5)列表
有序数组,这个在C语言中没有对应的项,因为List中每个元素的类型可以不同,类似于PHP中的索引字段。 参考类型。
(6)词典
字典类型本质上是一个哈希表,类似于PHP中的关联链表。 参考类型。
VimScript 提供了一个外部函数类型来标识数据的类型,例如:
echo type(1)
echo type('hello')
echo type(function("getline"))
echo type([1,2])
echo type({})
echo type(1.1)
输出是:
0
1
2
3
4
5
对应6种数据类型。 Float排在最后,可能是因为一开始没有这个类型,后来根据需要减少了。
变量是任何语言中必不可少的元素,VimScript 中的变量与 PHP 变量类似,但又不相同。 变量命名规则与C相同,只能使用数字、字母、下划线,且不能以数字开头。 此外,VimScript 变量名称可以推迟到运行时,这与 PHP 中的变量类似。