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

时间:2009-07-09 12:59:25

标签: vim function

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

这是我的第一次尝试:

fun! Tpl(tplfile)
  r c:\tpl\a:tplfile
endfun

这只是给我以下错误:

  

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

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

1 个答案:

答案 0 :(得分:6)

将该行替换为:

exe 'r c:\tpl\' . a:tplfile

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

:help exe

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