2

我有一个存储在变量中的路径(比如 l:s),并且想在 vim 脚本中执行 lcd l:s,但它告诉我路径“l:s”不存在。这里有什么问题,因为 vim 可以很好地解析其他 ex 命令中的变量名(echo 等)。我不明白其中的区别。

4

2 回答 2

4

您可以使用exe和构造命令:

let s:some_dir_name = "foo"
exe "lcd " . s:some_dir_name

这将评估变量s:some_dir_name并执行命令lcd foo

(我没有l:s从你的问题中使用,因为这不是合法的变量名,但我认为你明白了。)

于 2013-04-08T23:10:53.267 回答
1

Vim 允许您在脚本中设置环境变量,这些变量与 :cd 和 :lcd 一起使用。例如:

function foo()
    let $SOME_PATH = '/some/path'
    lcd $SOME_PATH
endfunction
于 2012-11-22T20:10:48.767 回答