chapters/20.markdown @ 10e255a80c3a
jlmuir/fix-typo-in-ch-15-the-to-1475169459896
Fix typo in ch. 15: the -> to
author |
J. Lewis Muir <jlmuir@imca-cat.org> |
date |
Thu, 29 Sep 2016 17:17:41 +0000 |
parents |
f09f87e10570 |
children |
c9a3fb343c5d |
Variable Scoping
================
So far Vimscript's variables may seem familiar if you come from a dynamic
language like Python or Ruby. For the most part variables act like you would
expect, but Vim adds a certain twist to variables: scoping.
Open two different files in separate splits, then go into one of them and run
the following commands:
:::vim
:let b:hello = "world"
:echo b:hello
As expected, Vim displays `world`. Now switch to the other buffer and run the
`echo` command again:
:::vim
:echo b:hello
This time Vim throws an error, saying it can't find the variable.
When we used `b:` in the variable name we told Vim that the variable `hello`
should be local to the current buffer.
Vim has many different scopes for variables, but we need to learn a little more
about Vimscript before we can take advantage of the rest. For now, just
remember that when you see a variable that start with a character and a colon
that it's describing a scoped variable.
Exercises
---------
Skim over the list of scopes in `:help internal-variables`. Don't worry if you
don't know what some of them mean, just take a look and keep them in the back of
your mind.