我有一个路径存储在一个变量(比如l:s)中,并希望在vim脚本中执行lcd l:s,但它告诉我路径“l:s”不存在。这里有什么问题,因为vim在其他ex命令中解析变量名称就好了(回声等)。我不明白其中的区别。
答案 0 :(得分:4)
您可以使用exe
并构建命令:
let s:some_dir_name = "foo"
exe "lcd " . s:some_dir_name
评估变量s:some_dir_name
并执行命令lcd foo
。
(我没有在您的问题中使用l:s
,因为这不是合法的变量名称,但我认为您明白这一点。)
答案 1 :(得分:1)
Vim允许您在脚本中设置环境变量,这些变量适用于:cd和:lcd。例如:
function foo()
let $SOME_PATH = '/some/path'
lcd $SOME_PATH
endfunction