初创建于: 2022-02-16 21:19
VimScript
要想写vim插件, 学习vimscript还真是不能省的啊.
暂定vim插件的学习路线为: vimscript \(\rightarrow\) lua \(\rightarrow\) typescript
将网络上已经有的东西重新写一遍是没有什么意义的, 这里只列出一些比较重要的东西, 其余内容贴上链接.
Vim 变量
vim存在三种变量: 全局变量(g), 局部变量(l)和脚本变量(s).
let g:helloworld = 1 " 这是一个全局变量, g: 前缀未省略
let helloworld = 1 " 这也是一个全局变量,在函数外部,默认的作用域是全局的
function! HelloWorld()
let g:helloworld = 1 " 这是函数内部全局变量
let helloworld = 1 " 这是一个函数内部的局部变量,在函数内部,默认的作用域为局部变量
endfunction
前缀 | 描述 |
---|---|
g: |
全局变量 |
l: |
局部变量,只可在函数内部使用 |
s: |
脚本变量,只可以在当前脚本函数内使用 |
v: |
Vim 特殊变量 |
b: |
作用域限定在某一个缓冲区内 |
w: |
作用域限定在窗口内部 |
t: |
作用域限定在标签内部 |
Vim插件的目录结构
目录 | 内容 |
---|---|
autoload/ |
自动载入脚本 |
colors/ |
颜色主题 |
plugin/ |
在 Vim 启动时将被载入的脚本 |
ftdetect/ |
文件类型识别脚本 |
syntax/ |
语法高亮文件 |
ftplugin/ |
文件类型相关插件 |
compiler/ |
编译器 |
indent/ |
语法对齐 |
详见 Vim插件开发指南