When you define a variable,it is userful only in this function. your variable a#foo is not in the function a#FooFunc().
if you want define a global variable ,you can let g:a#foo = 1 if you only want this variable in this script .you can let s:a#foo = 1 and your fuction must be: function! a#FooFunc() "echo g:a#foo echo s:a#foo endfunction read help: :h g:var :h l:var :h s:var 2011-01-13 ifys0325 发件人: winterTTr 发送时间: 2011-01-12 22:57:34 收件人: vim_use 抄送: 主题: question about variable in autoload I have a script such a.vim in autoload directory, and the file content is as below: ----------------begin----------- let a#foo = 1 function! a#FooFunc() echo a#foo endfunction -----------------end------------- But when i call this function with command :call a#FooFunc() I always get the error " E121: Undefined variable: a#foo E15: Invalid expression: a#foo ". I can use ":echo a#foo", and there is no error and display "1" on the command line. Why does the error "undefined variable" come out when i use it in a autload function ?? -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
