如果你看看 :help :insert 它说:
:help :insert
注意以反斜杠开头的行,请参阅 续行。
点击链接 line-continuation 解释说 \ 是一个延续字符,可以通过传递来覆盖 C 国旗到 cpoptions 。
line-continuation
\
C
cpoptions
如果您更改模板,它应该工作如下:
:set cpo+=C :insert \documentclass[a4paper,12pt]{article} . :set cpo-=C
您可能需要考虑使用像这样的代码片段引擎 VIM-snipmate 或(我最喜欢的) ultisnips 。有了这些,您可以插入文本片段 到处 ,而不仅仅是在文件的开头。
作为奖励,这些片段可以例如替换变量甚至运行命令。以下是我的片段(用于ultisnips)设置为生成TeX文件的标题;
snippet hdr "File header for LaTeX" b % file: `!v expand('%:t')` % vim:fileencoding=utf-8:ft=tex % % Copyright 漏 `!v strftime("%Y")` ${1:R.F. Smith} ${2:<my@email>}. All rights reserved. % Created: `!p snip.rv = fcdate(path)` % Last modified: `!v strftime("%F %T %z")` $0 endsnippet
这将自动填写文件名和上次修改文件的时间。它使用默认值填写我的姓名和电子邮件,但让我有机会覆盖它们。该 fcdate function是我编写的一段Python代码,用于检索文件的生成时间。
fcdate
我有 hdr 为几种不同的文件类型定义的代码段,以及用于所有其他文件的通用代码段。如果我输入 hdr 标签 在行的开头,展开相应的代码段。
hdr