How can I automatically add some skeleton code when creating a new file with vim

后端 未结 8 1368
清歌不尽
清歌不尽 2020-11-29 02:42

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

相关标签:
8条回答
  • 2020-11-29 03:07

    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
    
    0 讨论(0)
  • 2020-11-29 03:09

    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

    0 讨论(0)
提交回复
热议问题