变量作用域

到目前为止,如果你了解 Python 或者 Ruby 这样的动态语言,那 Vimscript 的变量就看起来很熟悉了。 大多数情况下,变量就像你想象的那样,但是 Vim 给变量加了个变化:作用域。

在分割窗口中打开两个不同的文件,然后到其中一个里面,运行以下命令:

:let b:hello = "world"
:echo b:hello

不出所料,Vim 会显示 world。现在换到另外一个缓冲区,再次运行 echo 命令:

:echo b:hello

这次 Vim 抛出一个错误,说它找不到这个变量。

当我们在变量名中用 b: ,那就告诉了 Vim hello 变量是当前缓冲的本地变量。

Vim 有很多不同的变量作用域,但是在利用其他的之前,我们需要再多学习点 Vimscript。 目前,只要记住当你看到一个变量是以一个字符和冒号开始的,那么它就是一个限定作用域的变量。

练习

略读 :help internal-variables 中的作用域列表。 如果你不理解其中的一些是什么意思也不用担心,只要看一看,在你脑子里留点映像就行。

原文地址:http://learnvimscriptthehardway.stevelosh.com/chapters/20.html