vim:将变量分配给ex调用的返回值?

vim:将变量分配给ex调用的返回值?,vim,Vim,我想让vim.vimrc执行如下操作: let root = :pwd 变量root将记住vim当时所在的“pwd”。我该怎么做 另一个人问了这个问题,但找到了另一个解决方案,所以这个问题从未真正得到回答(http://stackoverflow.com/questions/2540524/vim-call-an-ex-command-set-from-function) 使用变量 此外,一旦我将root赋值,我如何执行以下操作: :cd root 每次我这样做时,vim都会给我以下错误:

我想让vim.vimrc执行如下操作:

let root = :pwd
变量
root
将记住vim当时所在的“pwd”。我该怎么做

另一个人问了这个问题,但找到了另一个解决方案,所以这个问题从未真正得到回答(http://stackoverflow.com/questions/2540524/vim-call-an-ex-command-set-from-function)

使用变量 此外,一旦我将root赋值,我如何执行以下操作:

:cd root
每次我这样做时,vim都会给我以下错误:

E344: Can't find directory "root" in cdpath
E472: Command failed

可能有更好的方法可以做到这一点(尤其是最后一部分),但它很有效。

也很有用:
:cd%:h
(更改为当前文件目录)我能想到的唯一一件事是:
:exe'cd'root
@sehe,你能解释一下
%:h
符号吗?另外,为了确保我理解,没有办法在函数或let语句中调用ex命令。我必须四处搜寻,找到做同样事情的内置函数并使用它。对的
:let root = getcwd()
:exe 'cd ' . root