More Related Content Similar to Vim Script Programming (20) Vim Script Programming3. Outline - Vim Script
• Comment • Looping
• Variable • Command
• Variable scope • Mapping
• Special variable • Completion
• Function • Autocommand
• function scope • Autogroup
• built-in function • Utility
• Condition • vim-makefile
8. Help
section :help *section*
option :help ‘option_name’
mode :help [icv]_.....
command :help :command_name
9. Alias
• source => so
:so
• function => func
:func Foo(bar)
• endfunction => endf
:endf
10. Variable
let variable = 123
let string = “string”
let list = [1,2,3]
let strlist = [ “bar” , “foo” ]
let dict = { ‘phone’: ‘01234567’ }
let dict.name = “Chopin”
echo dict
12. Variable Scope
• let var = “string”
• let g:var_global = “global”
• let s:var_script = “script”
• let b:var_buffer = “buffer”
16. Override Function
Uppercase
fun! Test()
.. blah
endf
17. Override Function
Uppercase
fun! Test()
.. blah
endf
call Test() “ no return value
18. Override Function
Uppercase
fun! Test()
.. blah
return 3
endf
let ret = Test()
Return 3
24. Built-in Functions
• List related: add() , remove() , filter() , map
(), len() , sort(), empty(), join(), range() ...
• Dictionary related: keys() , values() ,
has_key() , has_value(), extend() ...
• String related: stridx(), strridx(), strlen(),
substitute() , submatch(),
strpart(), expand
() ...
25. Built-in Functions
• List related: add() , remove() , filter() , map
(), len() , sort(), empty(), join(), range() ...
• Dictionary related: keys() , values() ,
has_key() , has_value(), extend() ...
• String related: stridx(), strridx(), strlen(),
substitute() , submatch(),
strpart(), expand
() ...
*function-list*
26. Built-in Function
• Buffer related: bufnr() , bufexists() , buflisted
() , bufname() ... etc
• Window related: winbufnr(), bufwinnr(),
winnr()
• Misc: getreg(), setreg(), system(), eventhandler
() , getpid() ...
30. Command
Other options:
-bang
-bar
-register
-buffer
-complete=[type]
32. Syntax
• syn list
• syn keyword [ID] ....
• syn match [ID] ....
• syn region [ID] ...
• hi [ID] [Attributes]
33. Runtime Directory
/Users/c9s/.vim/
|-- after
|-- autoload
|-- colors
|-- doc
|-- ftdetect
|-- ftplugin
| |-- c
| |-- cabal
| |-- cg
....
|-- indent
|-- plugin
|-- syntax
| |-- c
| |-- javascript
| `-- perl