如何让netrw(在Vim中)使用绝对路径?

时间:2012-03-07 21:04:47

标签: vim file-browser netrw

我在Windows上安装了Vim73,我正在尝试通过文件浏览器移动文件。

它一直在给我一个关于“移动”不可执行的错误(参见this post)。经过一些调试后,我发现问题出在我的vim73\autoload\netrw.vim文件中。我有移动命令工作,但还有另一个问题 - 显然我用:Ex浏览的目录不是我当前的工作目录,因此mv.exe命令(来自UnxUtils)找不到来源或目的地。

导致问题的netrw的一行是这样的:

 let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))

我尝试将shellescape()函数包装在expand()中,但这似乎没有帮助。

知道如何获得源和目的地的绝对路径吗?

2 个答案:

答案 0 :(得分:0)

不是尝试绝对路径,而是将g:netrw_keepdir设为0适合你?这不是你想要的(我怀疑它是采用vim CWD并将其应用于netrw而不是相反的方式)但是如果你可以使用netrw来管理你的vim CWD,你的命令可能只是工作原样。

编辑:请查看:help netrw-c以获得详细说明。 netrw中的c命令可能就足够了。

答案 1 :(得分:0)

嗯,事实证明,当你的光标位于文件列表中的..时,它认为是一个目录。

我真正需要做的就是在从父目录尝试mt - 或mt之前将光标移动到横幅区域。

糟糕!