Ste*_*len 5 vim gvim vimscript
我知道您可以使用脚本本地函数来引用,<SID>但是脚本本地变量呢?我尝试了以下操作,但命中<c-space>失败:
let s:testVar = "foo"
function! s:GetTestVar()
return s:testVar
endfunction
nnoremap <space> :echo <SID>GetTestVar()<cr>
nnoremap <c-space> :echo <SID>testVar<cr>
Run Code Online (Sandbox Code Playgroud)
您可以通过编写访问器函数(如上所述)来解决这个问题,但有时能够直接引用会很好。
不,脚本局部变量确实是脚本私有的。您确实必须编写一个访问器函数。
在插件中,这不是什么大问题,因为它们应该将函数(以及脚本的状态变量)分离到自动加载脚本中,因此映射/命令(在插件脚本中定义)必须引用另一个脚本,无论如何.
小智 5
我本来想对此发表评论,但我需要 50 次代表。这是一个小建议,希望它符合目标。
可以使用(在定义 var 的脚本内)
exe "nnoremap <c-space> :echo ".s:testVar."<cr>"
Run Code Online (Sandbox Code Playgroud)
我将其用于 .vimrc 中定义的映射中的 s:var 路径插入。如果我错过了重点,或者其他什么,请告诉我......
| 归档时间: |
|
| 查看次数: |
1663 次 |
| 最近记录: |