VimScript:将局部变量的值传递给编辑命令

时间:2013-08-13 07:40:24

标签: vim

我编写了一个简单的函数来调用edit命令,其路径后跟给定的文件名。

但看起来edit l:path调用名为"l:path"的文件而不是l:path变量值。我想这是一个微不足道的问题,但很难获得在函数中调用edit命令的搜索结果,而不是来自vim编辑器。

当我将edit更改为echon时,以下代码会显示l:path的正确值。

command! -nargs=1 E call EditAtCurrentPath(<f-args>)

function! EditAtCurrentPath(filename)
    let l:path=expand('%:p:h').'/'.a:filename
    edit l:path
endfunction

1 个答案:

答案 0 :(得分:15)

您必须使用:execute将变量传递给命令:

execute 'edit' l:path

:help :execute中有一些很好的例子。