Viml variables
From wikinotes
Variable Scope
Rather than automatically setting scope for variables in vim, by default everything is global.
:help internal-variables let a:var = "test" "variable 'var' is local to current function g:var " global-variable - Global. l:var " local-variable - Local to a function. s:var " script-variable - Local to a :source ed Vim script. a:var " function-argument - Function argument (only inside a function). b:var " buffer-variable - Local to the current buffer. w:var " window-variable - Local to the current window. t:var " tabpage-variable - Local to the current tab page. v:var " vim-variable - Global, predefined by Vim.
Options
set filetype = 'mel' " assign vim-setting let var = &filetype " vim-setting TO variable let &filetype = var " vim-seteting AS variable
Environment Variables
let $TMP="/var/tmp"
Variable Persistence
This setting sets up vim so that the
viminfo
file (shada
for nvim) automatically saves/restores global-variables stored in all-caps between vim sessions.Save occurs on vim-exit. Restore occurs during startup (see
:help initialization
).:set viminfo+=!If your plugin depends on loading these variables, during vim's init, you'll need to write an
autocmd
to load it.autocmd VimEnter * call RestoreLastModColorscheme()
Get/Set Variables
let foo = get(g:, 'pluginname_setting', "default") " retrieve variable, assign default if unassigned exists('varname') " test if variable exists