我该如何在vim脚本中使用变量来执行vim shell命令(通过!实现)?例如,类似于以下示例的内容:(只是示例,并非我真正想要做的事情)function Ls(dir) !ls a:dir endfunction
使用 execute 命令。其后的所有内容都是一个表达式,它会被求值为一个字符串,并像你自己输入的命令一样执行。function Ls(dir) execute '!ls ' . a:dir endfunction 这段话的意思是"计算表达式'!ls ' . a:dir并执行它。" 变量a:dir被展开,点号连接两个字符串成为'!ls whatever',然后像你自己键入一样执行它。