我如何实际使用Vim函数的参数值?

Mar*_*iek 3 vim function

我正在尝试编写一个简单的Vim函数,它将文件名作为参数,并将该文件的内容读入当前文档(与此问题相关).

这是我的第一次尝试:

fun! Tpl(tplfile)
  r c:\tpl\a:tplfile
endfun
Run Code Online (Sandbox Code Playgroud)

这只是给我以下错误:

E484:无法打开文件c:\ tpl\a:tplfile

如何使函数实际使用tplfile参数的值?

DrA*_*rAl 6

将线替换为:

exe 'r c:\tpl\' . a:tplfile
Run Code Online (Sandbox Code Playgroud)

a:tplfile是一个字符串变量,所以要将它包含在命令中,你必须将整个批次组合成一个字符串(使用' .'运算符),然后使用exe来运行命令

:help exe
Run Code Online (Sandbox Code Playgroud)

在一个相关的注释(和一个无耻的插件),如果您正在尝试添加模板(如您链接到的帖子暗示),我的文件模板插件有一个命令AddTemplate,从当前的vimfiles/templates目录添加模板光标位置.但是,文档目前相当差,所以如果您决定使用它并遇到任何困难,请随时通过我网站上的地址给我发送电子邮件.