vimscript学习
要搞懂vim的插件,还是要懂vimscript
VimScript 五分钟入门(翻译) - 知乎 (zhihu.com)
Five Minute Vimscript (andrewscala.com)
Learn Vimscript in Y Minutes (learnxinyminutes.com)
Learn Vimscript the Hard Way (stevelosh.com)
变量
g:var - 全局 a:var - 函数参数 l:var - 函数局部变量 b:var - buffer 局部变量 w:var - window 局部变量 t:var - tab 局部变量 s:var - 当前脚本内可见的局部变量 v:var - Vim 预定义的内部变量
使用 function! 覆盖一个函数的定义
function! <Name>(arg1, arg2, etc) <function body> endfunction
参数使用 ... 这种不定长的参数形式时,a:1 表示 ... 部分的第一个参数,a:2 表示第二个,如此类推
function! g:Foobar(arg1, arg2, ...) let first_argument = a:arg1 let index = 1 let variable_arg_1 = a:{index} " same as a:1 return variable_arg_1 endfunction
如果你在函数声明的参数列表后添加一个 range 关键字,那函数就只会被调用一次,这时两个名为 `a:firstline` 和 `a:lastline` 的特殊变量可以用在该函数内部使用。
例如:强制创建一个名为 RangeSize 的函数,用来显示被调用时候的文本范围:
function! b:RangeSize() range echo a:lastline - a:firstline endfunction
tutorial:hello world
: hightlight
:h attr-list
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!