我的.vimrc
文件包括以下几行:
let read_path = '/var/www/html/readContent.html'
function ReadContentProcess()
if (expand('%:p') == read_path)
call feedkeys("\<C-A>")
call feedkeys("\<C-V>")
endif
endfunction
运行时call ReadContentProcess()
,出现以下错误:
Error detected while processing fucntion ReadContentProcess:
Line 1:
E121: Undefined variable: read_path
E15: Invalid expression: (expand('%:p') == read_path)
为什么?我已经定义read_path
为变量,为什么vim告诉我它不存在?
变量具有默认范围。在函数外部定义时,它具有全局作用域g:
。在函数内部,它具有局部作用域l:
。所以,你需要告诉你想通过其前缀VIM可变read_path
用g:
let read_path = '/var/www/html/readContent.html'
function ReadContentProcess()
if (expand('%:p') == g:read_path)
call feedkeys("\<C-A>")
call feedkeys("\<C-V>")
endif
end function
从:help g:
(及其后的部分)
全局变量g:var g: 在内部函数中,全局变量使用“ g:”访问。省略这个会 访问函数局部变量。但是“ g:”也可以在其他任何形式中使用 如果愿意的话。 局部变量l:var l: 在内部函数中,局部变量的访问没有任何前置条件。 但是,如果愿意,也可以在前面加上“ l:”。但是,不带“ l:” 您可能会遇到保留的变量名称。例如“计数”。它本身 指“ v:count”。使用“ l:count”,您可以将局部变量与 一样的名字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句