| aliases | ||||
|---|---|---|---|---|
| tags |
|
|||
| created | 2024-03-13 22:29:40 -0700 | |||
| modified | 2024-03-22 10:25:19 -0700 |
vim9 新语法,使用 def 来定义函数。并且与 老语法的函数 function 不兼容。
def 函数名(参数1: 参数类型): 返回值类型
...
endef- 注释使用
#代替老的" - 使用
vim9script标识当前脚本使用 vim9 语法 - 使用
import来代替source
[!info]
import "xxx/xxx/xx.vim"
- 使用
def来定义 函数 - 函数定义参数及返回值加显示类型声明
5.kk 使用
var代替let,并把除了全局g外的变量修饰符去掉。 - 赋值
=两边加空格 - 函数调用使用
.
示例:
vim9script
# 当前脚本是使用vim9的新脚本
# 导入函数
import "~/.vim/configs/commands/commands_basic.vim"
var nerdcommc_result = commands_basic.ExistPlug('preservim/nerdcommenter')
如果当前脚本有特殊原因不得不还使用老的脚本,但又想使用 vim9 语法定义的函数,得作以下一些「改造」。
import代替source,老脚本同样能使用import,而且使用新语法定义的函数,在使用时都得「导入」。- 在调用函数时,使用
s:xxx.函数()方式。不得再使用原来的xxx#函数()了。
[!info] 相关资料
示例:
" 当前脚本仍是老脚本
" 导入脚本
import "~/.vim/configs/commands/commands_basic.vim"
" 调用ExisPlug函数
" ExisPlug函数是在commands_basic.vim文件中,使用vim9语法定义的
let s:lightline_result = s:commands_basic.ExistPlug('itchyny/lightline.vim')