--- title: "Vim 脚本指南" description: "Vim 脚本指南" lang: zh --- # [主页](../) >> Vim 脚本指南 使用 Vim 难免会接触到 Vim 脚本语言,本文主要介绍的 Vim 脚本的基本语法和使用技巧。 - [1 基本语法](#1-基本语法) - [1.1 变量的命名](#11-变量的命名) - [1.2 变量的作用域](#12-变量的作用域) - [1.3 变量的定义](#13-变量的定义) - [1.4 变量的类型](#14-变量的类型) - [1.4.1 数字(number)](#141-数字number) - [1.4.2 字符串(string)](#142-字符串string) - [2、循环](#2循环) - [3、流程控制](#3流程控制) - [3.1、if-else 语句](#31if-else-语句) - [4、函数](#4函数) - [4.1、函数的定义](#41函数的定义) - [4.2、函数的作用域](#42函数的作用域) ## 1 基本语法 ### 1.1 变量的命名 Vim 的变量名称可以使用字母、下划线、数字组成,区分大小写,并且不可以以数字开头。 ### 1.2 变量的作用域 Vim 脚本中,变量的作用域支持如下类型: - `g:`:全局作用域,定义后,在任何地方,脚本内、函数内,都可以调用 - `w:`:某个窗口作用域,Vim 中每个窗口都有一个固定的ID, - `b:`:某个缓冲区作用域 - `s:`:某个脚本内的作用域 ### 1.3 变量的定义 ### 1.4 变量的类型 同其他大部分语言一样,Vim 脚本支持多种变量类型, 使用函数 `type()` 可以获取变量类型的值,包括: - 数字(number):0 - 字符串(string):1 - 函数(Funcref):2 - 列表(list):3 - 字典(Dictionary):4 - 浮点数(Float):5 - 布尔值(Boolean):6 - 空(Null):7 #### 1.4.1 数字(number) #### 1.4.2 字符串(string) ## 2、循环 通常当我们需要做一些有规律性的重复操作时,就需要重复执行某一段脚本。 这些被重复执行的语句就称之为循环体,是否需要继续重复,取决于循环的终止条件。 循环语句是由循环体及循环的终止条件两部分组成的。 ```plantuml start while (终止条件) endwhile (否) :结束; end ``` ## 3、流程控制 ### 3.1、if-else 语句 ```plantuml !pragma useVerticalIf on start if (condition A) then (yes) :Text 1; else (nothing) :Text else; endif ``` ## 4、函数 在 Vim 脚本中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 ### 4.1、函数的定义 Vim 中使用 `function` 地 ### 4.2、函数的作用域