When creating a new file with vim, I would like to automatically add some skeleton code.
For example, when creating a new xml file, I would like to add the first lin
Here are two examples using python scripting.
Add something like this in your .vimrc or another file sourced by your .vimrc:
augroup Xml
au BufNewFile *.xml :python import vim
au BufNewFile *.xml :python vim.current.buffer[0:0] = ['<?xml version="1.0"?>']
au BufNewFile *.xml :python del vim
augroup END
fu s:InsertHtmlSkeleton()
python import vim
python vim.current.buffer[0:0] = ['<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', "<html>", "<head>", " <title></title>", "</head>", "<body>", "", "</body>", "</html>"]
python del vim
endfu
augroup Html
au BufNewFile *.html call <SID>InsertHtmlSkeleton()
augroup END
If you want to adapt your skeleton to the context, or to the user choices, have a look at the template-expander plugins listed on vim.wikia