1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 07:20:04 +08:00

docs(tutorial): update vim script guide

This commit is contained in:
wsdjeg 2022-03-30 15:33:29 +08:00
parent 8e7ffefc11
commit c3eaaf59f4
2 changed files with 117 additions and 1 deletions

View File

@ -0,0 +1,111 @@
---
title: "Vim 脚本指南"
description: "Vim 脚本入门指南,语法及基本使用。"
lang: zh
---
# [开发者文档](../) >> Vim 脚本指南
## 简介
Vim 脚本是 Vim/Neovim 编辑器内置的脚本语言。可以用于配置 Vim/Neovim 及开发插件。
## 语法
### 基本语法
### 注释
Vim 脚本注释都是以 双引号开头,比如:
```vim
" 这是一个单行注释
let g:foo = 1 " 这是一个行尾注释。
```
## 变量
变量是一个存储数据的容器,在 vim 脚本内,一个变量由作用域前缀和变量名称组成,比如:
```vim
let g:foo = 'hello world'
```
其中,`g:foo` 就是一个变量,`g:` 就是一个作用域标识。`foo` 是这个变量的名称。
### Variable Scope
In vim script, there are 6 kinds of variable scopes:
1. `g:` global variable scope
2. `s:` local to script
3. `l:` local to function, it can be prepended.
4. `w:` local to window
5. `t:` local to tab
6. `b:` local to buffer
## Data Types
## Operators
## Loop
Often when you write vim script, you want the same code block to run over and over again.
Instead of adding several almost equal lines in the script, we can use loops.
In vim script there are two kinds of lools, `for loop` and `while loop`.
### for loop
To execute a block of code a specified number of times, you need to use for loop.
here is an example of for loop in vim script:
```vim
for n in range(10)
echo n
endfor
```
### while loop
While loops execute a block of code while the specified condition is true.
## Functions
Vim provides many built-in functions, besides the built-in functions,
we can also create our own functions.
```vim
function! TestHello() abort
echo "hello world"
endfunction
```
use `:call TestHello()` to run a function.
### return statement
Within a function, we can use return statement to return a variable.
if the return statement is prepended. `0` is returned.
```vim
function! Test() abort
return 'hello'
endfunction
echo Test()
" hello
function! Test() abort
endfunction
echo Test()
" 0
```

View File

@ -1,4 +1,9 @@
# Vim Script Guide
---
title: "Vim Script Guide"
description: "general guide about vim script"
---
# [Development](../) >> Vim Script Guide
<!-- vim-markdown-toc GFM -->