1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 20:20:05 +08:00
SpaceVim/docs/cn/vim-script.md
2022-01-13 19:18:38 +08:00

104 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Vim 脚本指南"
description: "Vim 脚本指南"
lang: zh
---
# [主页](../) >> Vim 脚本指南
使用 Vim 难免会接触到 Vim 脚本语言,本文主要介绍的 Vim 脚本的基本语法和使用技巧。
<!-- vim-markdown-toc GFM -->
- [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函数的作用域)
<!-- vim-markdown-toc -->
## 1 基本语法
### 1.1 变量的命名
Vim 的变量名称可以使用字母、下划线、数字组成,区分大小写,并且不可以以数字开头。
### 1.2 变量的作用域
Vim 脚本中,变量的作用域支持如下类型:
- `g:`:全局作用域,定义后,在任何地方,脚本内、函数内,都可以调用
- `w:`某个窗口作用域Vim 中每个窗口都有一个固定的ID
- `b:`:某个缓冲区作用域
- `s:`:某个脚本内的作用域
### 1.3 变量的定义
### 1.4 变量的类型
同其他大部分语言一样Vim 脚本支持多种变量类型, 使用函数 `type()` 可以获取变量类型的值,包括:
- 数字number0
- 字符串string1
- 函数Funcref2
- 列表list3
- 字典Dictionary4
- 浮点数Float5
- 布尔值Boolean6
-Null7
#### 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、函数的作用域