VimScript Note

初创建于: 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插件开发指南

参考资料

posted @ 2023-01-09 23:27  昤昽  阅读(46)  评论(0编辑  收藏  举报