在vim shell命令中使用变量

Mar*_*ski 23 variables vim

我如何!在vimscript 中使用vim shell命令中的变量(一个完成)?例如,有点像这样:(只是一个例子,不是我真正想做的事)

function Ls(dir)
    !ls a:dir
endfunction
Run Code Online (Sandbox Code Playgroud)

Kur*_*son 29

使用该execute命令.它之后的所有内容都是一个表达式,它计算为一个字符串,然后它就像你自己输入的命令一样执行.

function Ls(dir)
    execute '!ls ' . a:dir
endfunction
Run Code Online (Sandbox Code Playgroud)

这说:"评估表达式'!ls ' . a:dir,然后执行它." 变量a:dir被展开,点将两个字符串连接起来'!ls whatever',然后就像你输入它一样执行.