我编写了一个简单的函数来调用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
答案 0 :(得分:15)
您必须使用:execute
将变量传递给命令:
execute 'edit' l:path
:help :execute
中有一些很好的例子。