This projects serves as a template to create new vim plugins
- plugin: Main directory. A plugin can be just one file living in this directory
- autoload: If the plugin is big, you can put most of the functions here and they will be loaded only when they are used. This speeds up vim startup time.
- ftdetect: vimscript code to detect the filetype (if your plugin has to deal with new filetypes)
- ftplugin: code that is tied to a specific filetype
- syntax: Vim syntax files
- doc: plugin documentation in plain text files following a special vim syntax.
- Learn Vimscript the Hard Way by Steve Losh
- VimL Primer by Benjamin Klein
- Practical Vim by Drew Neil
- Pro Vim by Mark McDonnell
- Hacking Vim by Kim Schulz
- Learning the vi and vim editors by Linda Lamb, Elbert Hannah, Arnold Robbins
Help pages relevant to plugin development
- :help write-plugin
- :help initialization " when are plugins loaded? after vimrc
- :help add-plugin
- :help write-compiler-plugin
- :help write-local-help
- :help usr_41.txt
- :help:internal-variables " scopea a: , s:, l:, etc
- :help expr-quote " string interpolation in vim \n
- :help type() "takes avalue or variable and returns anumber from 0 to 5 dependin on the vuel's type 0 for a Number, 1 for a String
- :help line()
- :help UserGettingBored
- :help file-patterns
- :help autocmd-patterns
- :help autocommand-events
- :help virtcol()
- :help statusline
- :help cterm-colors
- :help gui-colors
- :help group-name
- :help sort()
- :help mapmode-x
- :help mapmode-s
- :help mapmode-v
- :help SID
- :help SNR
- :help using-<Plug>
- :help :function: List all functions and their arguments
- :help :scriptnames : gives you the script ID <SID> so you can map a <SNR>SCRIPTID_function() to the original script